2014-02-09 119 views

回答

6

您可以使用構造函數來獲取大小。這將對所有元素進行初始化。對於int這意味着零初始化:

std::vector<int> v(100); // 100 elements with value 0 

如果你需要一個不同的號碼,那麼你可以傳遞第二個參數與所需的值:

std::vector<int> v(100, 42); // 100 elements with value 42 
0

,如果你要考慮從@juanchopanza答案初始化施工;但如果您想爲代碼的任何其他部分中的vector中的所有記錄設置相同的值,則可以考慮採用std::fill

+1

你不想這樣做。 'v.resize(value)'或'v.insert(v.end(),n,value)'是更好的解決方案。 –

+0

@JamesKanze爲什麼? – user2485710

+1

通常的原因是:如果沒有其他原因,它總是更喜歡容器的成員函數,否則會更有效率。 (在這種情況下:'resize'或'insert'永遠不會重複分配一次,'std :: fill'可以做很多事情。) –

相關問題