美文网首页
2020-09-15 构造函数初始化列表

2020-09-15 构造函数初始化列表

作者: yuerxiaoshui | 来源:发表于2020-09-16 15:18 被阅读0次
    • 使用初始化列表的构造函数,其显式地对成员进行初始化
    • 未使用初始化列表的构造函数,其通过赋值来对成员进行初始化(此赋值为拷贝构造)

    分析一下:
    第一种方式,只需要在进入函数体前对对象进行一次构造,然后初始化。
    第二种方式,第一次构造与上相同,拷贝构造函数需要第二次构造,故多了一次构造
    故当变量为自己设计的类时,可以提高性能。

    内置类型成员变量,两种构造方式性能与结果相同。
    非内置类型成员变量,为了避免两次构造,推荐使用构造函数初始化列表。
    在以下两种情况必须使用构造函数初始化列表;

    • 没有默认构造函数的类。若没有提供显示初始化式,则编译器隐式使用成员类型的默认构造函数,若类没有默认构造函数,则编译器尝试使用默认构造函数将会失败。
    • const 成员引用类型的成员。因为 const 对象或引用类型只能初始化,不能对他们进行重新赋值。

    相关文章

      网友评论

          本文标题:2020-09-15 构造函数初始化列表

          本文链接:https://www.haomeiwen.com/subject/mifqyktx.html