c++ - 访问 vector 的动态 vector

标签 c++

这是我的代码:

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/

相关文章:

c++ - 将 SVG 转换为光栅的 C/C 库。

c++ - AIX 编译器 13.1.3 对 c++ 的双重转换不正确

c++ - 如何将 Doxygen 的 "Documentation at other places"功能与专门的模板类一起使用?

c++ - C++ 中的 vector::清除

c++ - 使用 gpfs​​_fcntl 的 EINVAL

c# - 复制 C++ dll 以构建通过扩展引用它们的任何 C# 项目的输出

c++ - 使用协程隐藏阻塞操作

c++ - malloc 小于 8 字节

c++ - .cpp,v 扩展名的文件

c++ - Halide 可变域减少