固定大小向量的C ++向量

时间:2014-04-28 04:04:35

标签: c++ stl

如何在C ++中声明固定大小向量的向量?

例如:

vector of vectors with N elements.

不是这个:

vector<vector<int> > v(N) //declares vector of N vectors

3 个答案:

答案 0 :(得分:5)

std :: array是你的朋友。

http://en.cppreference.com/w/cpp/container/array

例如,要声明具有N个元素的向量的向量,您可以

typedef std::array<int, N> N_array;

然后使用

std::vector<N_array>

答案 1 :(得分:1)

你可以使用std :: array:

std::array<int, 10>    myNumbers;

唯一的缺点是你无法看到有多少“活跃”元素,因为你没有推/回。你像普通的(但安全的)数组一样使用它。

答案 2 :(得分:1)

如果您希望vector具有固定大小,则很可能您不需要!请改用std::array

但你还是坚持要有一个......

vector<vector<int> > vecOfVec(NumberOfVectors);
for ( int i = 0 ; i < NumberOfVectors; i++ )
   vecOfVec[i].resize(NumberOfElementsInVector);