【发布时间】:2021-08-11 09:05:42
【问题描述】:
鉴于此数组声明和初始化:
std::array<bool, 20> invalid_params{};
我可以假设数组中的所有元素都将总是初始化为 false,还是明确地这样做更好?
【问题讨论】:
-
如果您使用
{}语法,它总是用false初始化。如果你不使用它,它就会保持未初始化状态。 -
@AyxanHaqverdili,是的,未初始化的部分很清楚,我担心的是,鉴于 bool 的怪癖,值初始化可能允许初始化为真,但似乎情况并非如此。
-
对于内置类型,所有元素的值初始化总是类似于
=0。 (成为0、false、nullptr等)
标签: c++ stdarray zero-initialization default-initialization