C++ 是std::vector<;int>;初始化为0?
比如说,我们使用C++ 是std::vector<;int>;初始化为0?,c++,vector,stl,C++,Vector,Stl,比如说,我们使用std::vector或std::vector。随着向量大小的增加,新分配的元素会默认初始化为0,还是程序员需要显式地将它们设置为0?根据C++11标准第23.3.6.3/9段(关于std::vector::resize()): void resize(大小\类型sz) 效果:如果sz新元素值已初始化: [C++11:23.3.6.3/9]:void resize(size_type sz) 效果:如果sz是,当std::vector改变大小时(可能通过执行std::vector
std::vector
或std::vector
。随着向量大小的增加,新分配的元素会默认初始化为0,还是程序员需要显式地将它们设置为0?根据C++11标准第23.3.6.3/9段(关于std::vector::resize()
):
void resize(大小\类型sz)代码>
效果:如果sz新元素值已初始化:
[C++11:23.3.6.3/9]:
void resize(size_type sz)代码>
效果:如果sz是,当std::vector
改变大小时(可能通过执行std::vector::resize
),任何新元素都将被初始化。对于int
或long
等类型,值初始化会导致零初始化,顾名思义,这会将值设置为0