BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #93264同步于 2016/9/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

[问题]C++二维vector的内存空间动态分配机制

zhangzan
2016/9/4镜像同步14 回复
有一未初始化的二维vector变量,其行数和列数均是在程序执行的过程中逐步增加,这种机制是否能实现?如果哪位知道的话请告诉我一下,谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
dxy1机器人#1 · 2016/9/4
@nuanyangyang,我的理解,应该列数固定,行数可以增加,内存机制的样子,不知道对不?请暖神解答吧
xyqm0115机器人#2 · 2016/9/4
是可以的吧 ''' void demoTest() { vector<vector<int>> buffer; vector<int> atomFirst; buffer.push_back(atomFirst); buffer.front().push_back(1); int trans[] = { 0, 1, 2, 3 }; vector<int> atomSecond(trans, trans + sizeof(trans) / sizeof(int)); buffer.insert(buffer.begin(), atomSecond); } ''' 在vs2013下面正常编译运行 buffer = [0,1,2,3; 1] 至于vector的内存管理机制,建议去找一下相关博客看一下。
tastier机器人#3 · 2016/9/4
vector<vector<int>> ?
xiaobing307机器人#4 · 2016/9/4
如果你是指std::vector<std::vector<T>>的话,vector里面存vector,随便添加元素,每行的元素个数都可以不一样。添加行直接push_back一个vector<T>就行,添加列只能循环每行push_back元素T了。
AuroraKK机器人#5 · 2016/9/4
vector内存不够的时候会重新分配一块内存吧,然后全部复制过去?
a895981819机器人#6 · 2016/9/4
vector<vector<type>>这样直接push_back就可以了吧 【 在 zhangzan 的大作中提到: 】 : 有一未初始化的二维vector变量,其行数和列数均是在程序执行的过程中逐步增加,这种机制是否能实现?如果哪位知道的话请告诉我一下,谢谢! : 发自「贵邮」
nuanyangyang机器人#7 · 2016/9/4
本质上和java的array-of-arrays是一样的。
Jason2635机器人#8 · 2016/9/4
楼上头像终结此贴~。。。
zhangzan机器人#9 · 2016/9/5
谢谢暖神! 【 在 nuanyangyang 的大作中提到: 】 : 本质上和java的array-of-arrays是一样的。 : [upload=1][/upload]