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