std::vector<int> v;
for (size_t i=0; i<100; i++)
v.push_back(0);
如您所见,每个元素重复的值相同。有没有办法在没有循环的情况下初始化矢量?如果没有,这是最快的方法吗?
提前感谢您的帮助。
答案 0 :(得分:6)
您可以使用构造函数来获取大小。这将初始化所有元素。对于int
,这意味着零初始化:
std::vector<int> v(100); // 100 elements with value 0
如果您需要不同的数字,则可以传递具有所需值的第二个参数:
std::vector<int> v(100, 42); // 100 elements with value 42
答案 1 :(得分:0)
如果你想初步建设,请考虑@juanchopanza的答案;但如果您想为代码的任何其他部分vector
中的所有记录设置相同的值,则可以考虑采用std::fill
。