C++:std :: vector的保留容量,它位于另一个容器中

rda*_*mon 1 c++ vector

我有以下要求,

std::vector< std::vector < std::string > > segments;
存在未知数量的段,但每个段的大小固定为1000.但是,我无法弄清楚如何根据我的要求声明可变.

我试过了
std::vector< std::vector < std::string >(1000) > segments; // not working

提前致谢..

Geo*_*che 5

std::vector是一个动态容器,不允许您指定固定大小.作为替代方案,您可以查看Boost.Array(或TR1中的版本等):

typedef boost::array<std::string, 1000> Segment;
typedef std::vector<Segment> SegmentVec;
SegmentVec segments;
Run Code Online (Sandbox Code Playgroud)

  • @Ringo:我知道有些人不能或不想使用Boost,但是混合有什么问题? (4认同)