这是我的代码:
std::vector< std::vector<int> > v;
v.push_back(std::vector<int>(2));
v[0].push_back(10);
std::cout<<(v[0])[0];
但是它打印出“0”而不是 10。
我正在尝试制作一个包含固定大小 vector 的动态 vector 。
谁能帮我想象一下发生了什么?
最佳答案
代码有问题:
std::vector<int>(2)
使用默认构造的 int
(为零)初始化大小为 2 的 vector ,因此推送 10
只会生成大小为 3 的 vector w/10
最后(索引 2)。
关于c++ - 访问 vector 的动态 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30607529/