二维/多维vector在未知维度的前提下的赋值操作
来源:互联网 发布:php 遍历对象数据 编辑:程序博客网 时间:2024/06/05 04:05
在很多时候,类中二维数组的维度往往无法提前知道,因此需要动态地分配空间。
使用new运算符是其中的一个解决方案,但是操作不当往往会造成内存溢出/泄漏。
使用stl的vector可以避免这个麻烦。
例如,我在一个类中定义了一个数据成员a为二维int类型vector
class A{public: void create2DArray();private: vector<vector<int>> a;};
在A的成员函数create2DArray()才确定a的维度。假设我要生成一个4*3的二维数组
void A::create2DArray(){ int m=4, n=3; a = vector<vector<int>> (4, vector<int>(3)); // 赋值操作,为a中的每个元素赋值}
再增加一些难度,即创建一个多维数组a,使得a中含有m个子vector,但每个子vector含有的元素个数却各不相同。
void A::create2DArray(){ vector<int> dimension; // 各个子vector的维度 int m =4; for(int i=0; i<m; ++i) dimension.push_back(i+1); // 各个子vector的维度为i+1 a = vector<vector<int>> (m, vector<int>(1)); // 先初始化一个m*1的二维vector for(int i=0; i<m; ++i) a[i].assign(dimension[i], 0); //再利用assign函数对每个子vector的维度进行修改,并且将其中的元素都初始化为0 //为a中的元素进行赋值}
1 0
- 二维/多维vector在未知维度的前提下的赋值操作
- 二维/多维vector在未知维度的前提下的赋值操作
- 二维向量vector の 邪恶的多维数组 (一)
- C++创建动态空间的未知大小的二维数组、三维数组、多维数组
- 多维vector的初始化
- 关于多维数组的维度判定问题
- matlab 多维矩阵的维度调整
- 又学一招!二维向量vector<vector<int>>在VC下的使用技巧。
- 卷积操作的维度
- 多维向量vector的初始化
- 多维向量vector的初始化
- 二维向量vector の 邪恶的多维数组 (二) 降维
- 在不删除文件的前提下合并硬盘分区
- 如何在不安装oracle的前提下配置plsql
- oracle 在有数据的前提下变更字段类型
- 二维数组的赋值
- 二维数组的赋值
- 二维vector 的创建
- UVa 12436 Rip Van Winkle's Code 线段树
- ojI
- iOS开发之Block(1)
- ojJ
- 交互式日历日程控件Scheduling Control for ASP.NET
- 二维/多维vector在未知维度的前提下的赋值操作
- OCP 1Z0 052 153
- Android中Gravity中的一些值都是些什么意思
- STM32 ADC 单次转换
- java中的动态绑定和静态绑定
- Microsoft Office使用
- #2014 CSDN博文大赛#
- jQuery实现换肤功能(使用cookie.js插件)
- 黑马程序员_银行业务调度业务