内置类型有默认构造函数吗?
阅读了一篇建议 int() 由于默认值而产生 0 的文章后出现了这个问题构造函数,导致人们相信原始类型本质上缺乏构造函数。然而,“TC PL”第 10.4.2 节另有暗示,声称内置类型拥有默认构造函数。
Bjarne Stroustrup 的回应
当询问明显的差异时,Bjarne Stroustrup 澄清说内置类型没有实际的构造函数调用。相反,它们的行为就像它们一样,并且类似构造函数的符号由编译器解释。
技术答案
严格来说,不。内置类型不具有默认构造函数。
功能注意事项
尽管缺少实际的构造函数,但初始化内置类型的语法与构造函数调用非常相似。初始化时使用大括号 ({}) 可以实现整数 (int{0}) 的零初始化以及括号内表达式 (int a{b}) 的复制。
结论
虽然内置类型没有默认构造函数,但它们的初始化语法和行为模拟它们的存在。它们似乎拥有默认构造函数和复制构造函数,允许初始化和赋值。这种伪构造函数机制简化了初始化并提高了代码的可读性。然而,认识到这些类型缺乏真正的构造函数是至关重要的。
以上是C 中的内置类型实际上有默认构造函数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!