2017-04-10 321 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