如何在没有循环的情况下初始化 std::vector

How to initialize std::vector without a cycle?

本文关键字:情况下 初始化 std vector 循环      更新时间:2023-10-16
    std::vector<int> v;
    for (size_t i=0; i<100; i++) 
       v.push_back(0);

如您所见,每个元素重复的值相同。有没有办法在没有循环的情况下初始化向量?如果没有,哪种方法最快?

提前感谢您的帮助。

您可以使用构造函数来调整大小。这将值初始化所有元素。对于int,这意味着零初始化:

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

如果需要不同的数字,则可以传递具有所需值的第二个参数:

std::vector<int> v(100, 42); // 100 elements with value 42
如果你想在

构造上初始化,请考虑@juanchopanza的答案;但是如果你想在代码的任何其他部分为vector中的所有记录设置相同的值,你可以考虑采用std::fill