C++ 中结构成员和类成员的默认值是什么,这些规则有何不同(例如,类/结构/基元/等之间)?关于默认值的规则是否存在不同的情况?
在 C++ 中,结构和类在这方面没有区别。他们都被称为只是类别类型.
一般情况下,类类型的成员没有默认值。为了让类成员获得确定性值,它必须是已初始化,这可以通过
- 成员本身的默认构造函数
- 封闭类的构造函数初始值设定项列表
- 为封闭类的对象显式指定初始值设定项(包括值初始化和使用聚合初始值设定项进行初始化)。
此外,所有具有静态存储持续时间的对象在程序启动时都被初始化为零。
除了上述情况之外,类成员再次没有默认值,并且最初将包含不可预测的垃圾值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)