使用给定大小初始化的std :: vector的值是什么?

时间:2015-06-11 18:28:14

标签: c++ memory vector initialization std

如果我像这样初始化std::vector

vector<int> sletmig(300);

它会将所有300个值设置为零,还是保留计算机内存中的内容?

1 个答案:

答案 0 :(得分:4)

它们将设置为零,因为元素将为value-initialized

来自cppreference

explicit vector( size_type count );
  

使用count的{​​{1}} default-inserted个实例构建容器。没有制作副本。

但是要知道你也可以指定所有元素的默认值,例如

T

再次来自cppreference

vector<int> sletmig(300, 0);
  

使用vector( size_type count, const T& value, const Allocator& alloc = Allocator()); count元素的value副本构造容器。