问题:
默认构造函数,由编译器自动生成,初始化 C 中的内置类型?
答案:
不,默认构造函数(由编译器为没有用户定义构造函数的类创建)不会初始化内置类型的成员。
但是,需要注意的是,还有其他不涉及默认值的初始化类实例的机制构造函数:
示例:
考虑以下类:
class C { public: int x; };
编译器-为C提供的默认构造函数不会初始化C::x.
C c; // Compiler-provided default constructor is used // c.x contains garbage
相反,使用值初始化或聚合初始化将对 C::x:
C c = C(); // Uses value-initialization instead of default constructor // c.x == 0 C d{}; // Aggregate initialization // d.x == 0
以上是C 的默认构造函数是否初始化内置类型成员?的详细内容。更多信息请关注PHP中文网其他相关文章!