”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > std::array 可以默认初始化吗?

std::array 可以默认初始化吗?

发布于2024-12-21
浏览:255

Can std::array be Default-Initialized?

std::array 可以默认初始化吗?

通过将变量声明为 std::array x; ,你可以保证它的所有元素都将被默认初始化。根据 C 11 语言标准 (§8.5/11),任何没有显式初始化程序的对象都是默认初始化的。

但是,您应该知道默认初始化对非类、非类没有影响。数组类型 (§8.5/6),使其值不确定。例如,此类类型的默认初始化数组将具有不确定的值。

数组的值初始化

如果您希望将所有数组元素初始化为特定值value T{},这不是默认初始化而是值初始化(8.5/7)。您可以在 C 11 中使用空初始化器轻松地对数组进行值初始化:

int plain_int{};
int c_style_array[13]{};
std::array cxx_style_array{};

这将对所有数组元素进行值初始化,从而使整数值一致为 0,并为其各自的数据类型提供默认值。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3