Shi*_*bli 5 c++ memory-management stdvector multidimensional-array
我们有
std::vector <std::vector <unsigned short int>> face;
face.resize(nElm);
Run Code Online (Sandbox Code Playgroud)
它可以resize()用于第一维.但是,我也想reserve()记住脸上的元素; 我的意思是第二个维度.(我知道之间的差异resize()和reserve())
做就是了
face.resize(nElm);
for(auto &i : face) i.resize(nDim2);
Run Code Online (Sandbox Code Playgroud)
或者如果您不使用 c++11:
face.resize(nElm);
for(std::vector < std::vector < unsigned short int> >::iterator it
=face.begin();it!=face.end();++it) {
it->resize(dim2);
}
Run Code Online (Sandbox Code Playgroud)
如果您只想reserve获得第二个维度,那么就这样做而不是resize