c++ 中结构成员和类成员的默认值是什么,这些规则有何不同(例如,在类/结构/基元/等之间)?是否存在默认值规则不同的情况?
最佳答案
在 C++ 中,结构和类在这方面没有区别。它们都被称为类类型。
类类型的成员在一般情况下没有默认值。为了让一个类成员获得一个确定的值,它必须被初始化,这可以通过
- 成员本身的默认构造函数
- 封闭类的构造函数初始化列表
- 为封闭类的对象显式指定初始化程序(包括值初始化和使用聚合初始化程序进行初始化)。
此外,所有具有静态存储持续时间的对象在程序启动时都被初始化为零。
除了上述情况,类成员再一次没有默认值,并且最初会包含不可预测的垃圾值。
关于c++ - C++ 类成员的默认值是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614809/