2014-02-09 74 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'可以做很多事情。) –

相关问题