C++构造函数

1 构造函数不能声明为const成员,不管对象是否为const,都用一个构造函数来初始化。

2 数据成员在构造函数初始化列表中被初始化和在构造函数体中被赋值的区别。两者的区别在于数据成员的类型,对非类类型的数据成员进行初始化或赋值在结构和性能上都是等价的,但是没有默认构造函数的类类型的成员,以及const类型的对象和引用类型的对象只能初始化而不能赋值,所以它们必须在初始化列表中初始化,或者在函数体中被初始化而不是赋值。
3 构造函数的初始化列表只在构造函数的定义中而不是声明中指定。
4 数据成员初始化的次序就是定义的次序而不是在初始化列表中的次序。
5 在构造函数前面加上explicit关键字可以抑制由构造函数产生的隐式转换(隐式转换生成临时对象)。explicit关键字只能用于在类内部声明的构造函数上。

原文链接: https://www.cnblogs.com/mahy/archive/2011/10/27/2227030.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++构造函数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/35180

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午12:03
下一篇 2023年2月8日 下午12:04

相关推荐