gpt4 book ai didi

c++ - 结构/类成员的显式初始化

转载 作者:IT老高 更新时间:2023-10-28 22:59:18 25 4
gpt4 key购买 nike

struct some_struct{
int a;
};
some_struct n = {};

n.a 在此之后将为 0;

我知道这种大括号形式的初始化是从 C 继承的,并且支持与 C 程序兼容,但这只能用 C++ 编译,不能用 C 编译器编译。我正在使用 Visual C++ 2005。

在 C 中这种类型的初始化

struct some_struct n = {0};

是正确的,并将对结构的所有成员进行零初始化。

空括号是初始化标准的形式吗?我第一次看到这种形式的初始化是在 msdn 的一个 WinAPI 教程中。

最佳答案

空括号形式的初始化在 C++ 中是标准的(语法明确允许)。见 C Static Array Initialization - how verbose do I need to be?如果您有兴趣了解更多详情。

我假设它被添加到 C++ 中,因为它可能不适合在所有情况下将 0 值用作默认初始化值。

关于c++ - 结构/类成员的显式初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3003574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com