作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
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/
我是一名优秀的程序员,十分优秀!