如何在C ++中声明固定大小向量的向量?
例如:
vector of vectors with N elements.
不是这个:
vector<vector<int> > v(N) //declares vector of N vectors
答案 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);