vector声明二维数组的一些问题
来源:互联网 发布:下载汉王识别软件 编辑:程序博客网 时间:2024/05/21 15:40
vector实现二维数组结构时时,常用的做法有一下几个:
vector<int> studentNums; //声明一个一维的int类型向量
vector<int> studentNums(7);//声明一个元素个数为7的,初始化为0的int类型向量
vector<int> studentNums(7,1);//声明一个元素个数为7的,初始化为1的int类型向量
上面是一维数组结构的声明方式,但是当声明二维数组时,就有些小细节需要注意了。正常情况下声明如下:
vector<vector<int> >studentNums;
这种形式声明的二维数组在进行访问的时候会出现如下问题:
for(int i=0;i<studentNums.size();i++)
{
for(int j=0;j<studentNums[0].size();j++)
{
cout<<i<<" "<<j<<endl;
studentNums[ (i*n+j)/c ].push_back(nums[i][j]);
}
}
会出现内存溢出的情况。
当声明为
vector<vector<int> >studentNums(x);//x为函数外部输入的量
内存溢出的问题就没有了。
也就是说声明二维数组时候,行数是必须要初始化的。这一点切记。
另外也查阅了一下studentNums.size()这个函数返回值类型。大部分情况下都为unsigned int
如果不确定,可以用typeid( ).name()这个函数来查询。用法如下:
typeid( 表达式 ).name();
该语句返回表达式结果的类型。
- vector声明二维数组的一些问题
- 关于vector定义二维数组的问题
- 二维数组的一些问题
- 二维数组的一些问题
- 二维数组的声明
- 二维数组,二维vector的声明初始化,&传递(iter,模板,C99特性),iterator遍历
- vector创建的二维数组
- 二维数组vector<vector<int> >的建立
- java 中创建Vector二维数组添加一维Vector的问题
- vector 数组 二维数组
- C++二维数组讲解、二维数组的声明和初始化
- C++二维数组讲解、二维数组的声明和初始化
- C++二维数组讲解、二维数组的声明和初始化
- 《C++笔记》 Part7 一维数组与二维数组的初始化问题(vector)
- Java二维数组的声明和初始化
- 关于python二维数组的声明
- 二维数组的声明,定义及应用
- 二维数组的声明及初始化
- ural 1028. Stars 树状数组
- Mysql5.6版本导出sql文件数据导入到5.7版本出现的问题
- SQL与PLSQL的对比
- MySQL之——添加索引的几种方式
- 软件编码规范(代码编辑、编译、审查 )
- vector声明二维数组的一些问题
- 常见排序算法的python实现
- Activity免注册跳转
- 监控摄像头进行网页直播和微信直播的技术方案
- 基于docker的caffe环境搭建与使用示例
- Ref 与 Out 的区别
- 11-S3C2440驱动学习(七)嵌入式linux-字符设备的另一种写法及RTC驱动程序分析和字符设备驱动框架总结
- 非平稳时间序列季节效应分析
- 定义自己异常