0
我怎樣才能聲明這樣的矢量,像這樣的vector<vector<string>>vec(1)(2)
使用vec[0][0]
和vec[0][1]
而不使用動態大小與push_back
。矢量矢量字符串固定大小
我怎樣才能聲明這樣的矢量,像這樣的vector<vector<string>>vec(1)(2)
使用vec[0][0]
和vec[0][1]
而不使用動態大小與push_back
。矢量矢量字符串固定大小
using namespace std;
array< array< string, 2 >, 1 > vec;
std::vector
是用於動態大小數組。
std::array
(C++ 11,或使用Boost庫)適用於固定大小的數組。
std::vector<std::vector<string>> vec(1, std::vector<string>(2));
然後你就可以訪問vec[0][0]
和vec[0][1]
。 (你可以改變矢量的大小)。
「std :: vector」的大小可以在運行時擴展,並且不能用作多維數組。嵌套兩個向量可以讓您自由地爲每個維度創建不同大小的子向量,這可能不是您想要的。看看[Boost.MultiArray](http://www.boost.org/doc/libs/1_53_0/libs/multi_array/doc/index.html),也許它會有所幫助。 – 2013-03-16 22:35:27