[英]How to initialize std::vector without a cycle?
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
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.