首页 >后端开发 >C++ >C 中的内置类型有构造函数吗?

C 中的内置类型有构造函数吗?

Susan Sarandon
Susan Sarandon原创
2024-12-08 06:57:10236浏览

Do Built-In Types in C   Have Constructors?

内置类型有构造函数吗?

当临时 int 值初始化为 0 时,是否是因为 int() 调用默认构造函数?这是一个常见的误解,因为内置类型没有构造函数。

值初始化与默认构造函数

值初始化是一个相对较新的概念,它初始化一个具有适合其类型的值的临时对象。对于内置类型,整数值为 0。

TC PL 的声明

TC PL 第 10.4.2 节规定内置类型也有默认值构造函数。然而,这种说法在 C 98 和 C 03 的背景下可以说是不正确的。

Bjarne Stroustrup 的澄清

当与个人联系时,Bjarne Stroustrup 澄清说他认为内置 -在概念意义上,类型具有构造函数,尽管它们缺乏实际的构造函数调用。这种概念化基于它们类似于构造函数的行为,例如值的初始化。

结论

从技术上讲,内置类型没有构造函数。但是,用于初始化它们的语法(例如 int{5}、int{})与构造函数的语法相同。因此,出于实际目的,将内置类型视为具有在值初始化期间适当初始化其值的默认构造函数是合理的。

以上是C 中的内置类型有构造函数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn