c++ - 将 vector 放在数组元素中

标签 c++ arrays vector

<分区>

是否可以在数组元素 a[0],a[1]... 中放置一个 vector (每个 a[x] 中有不同的 vector )? 如果可能,我如何访问给定 a[n] 中的 vector 的一个元素?

最佳答案

您拥有的一些可能性:

// Static array of vectors (not a good practice though) 
std::vector<int> vec_array1[size];

// Or dynamic array of vectors (still not very c++ish and error prone)
std::vector<int> *vec_array2;
vec_array = new std::vector<int>[size];

// Or vector of vectors
std::vector<std::vector<int> > vec_array3(size);

// Or std::array of vectors (in c++11)
std::array<std::vector<int>, size> *vec_array4;

在任何情况下,您都可以使用 [] 运算符访问 vector :

vec_array[0].push_back(5);

使用两个 [] 运算符的元素如下:

vec_array[0][2] = 4;

关于c++ - 将 vector 放在数组元素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13113642/

相关文章:

c - 如何将格式化数据存储到 C 中的数组?

c++ - 结构初始化 vector

c++ - 如果我为 float 定义自定义比较函数,std::sort 是否会正常工作?

c++ - 推荐的配置/偏好处理方法

c++ - 如何将 void 指针类型转换为 int 指针,然后将 int 存储在其中?

matlab - 3D 空间中多个 2D 矢量 [字段] 之间的插值

c++ - 检测到堆损坏 C++ 自定义 vector

c++ - Qt GUI 变得 react 迟钝,发出信号的速度太快

c - 运行以下代码时出现错误

Javascript推送多维数组仅选中复选框