C++构造函数初始化列表与构造函数中的赋值的区别

时间:2021-09-24 19:59:53

https://blog.csdn.net/chenlycly/article/details/53558675

构造函数使用列表初始化还是用赋值方法   对比Effective 条款4

 

条款4 中 为什么需要用   构造函数列表初始化方式初始化成员或者对象   来代替  构造函数内部  operator =  赋值这样的方式来给   成员变量或对象赋值呢?

当然啦  一切为了效率!效率 !  构造函数列表初始化对象或者成员变量的方式   只调用了一次  copy construction    相比使用构造函数内部的opetaror = 这样的赋值方式 给成员变量或对象赋值  效率要高,因为这样的方法  多调用了一次 default construct函数