2017-04-10 123 views
0

如果用我用的是矢量:与初始化列表如何初始化向量

std::vector<class> obj(size); 

一起:

std::vector<class> obj; 
MyClass::MyClass():obj(size) 

如果我想进入“OBJ(大小)”初始化程序列表之外,语法是什么? (例如,一个单独的函数内创建)

+0

只需使用'obj.resize(size)'。 'std :: vector'有一个['resize'](http://en.cppreference.com/w/cpp/container/vector/resize)方法 – WhiZTiM

+0

你的标题要求初始化,但你的问题要求在初始化。 – chris

回答

1

由于矢量与当它被构造的默认大小初始化,你必须resize它。 您可以使用下面的代码:

obj.resize(size); 

请记住,此操作可能很昂贵,所以不要过于频繁地使用它。如果向向量添加的元素数量超过其可以容纳的数量,则会自动调整大小。

如果您需要更多信息,请访问矢量文档here