参考自大佬
详情
对于内置数据类型,构造函数初始化列表和构造函数内赋值是基本一样的。
但是对于结构体类型和自定义类类型,初始化列表更好。当使用初始化列表构造对象的时候,初始化一次就完成了;如果使用构造函数内赋值,要调用两次构造函数,第一次使用默认值初始化,第二次调用使用赋值语句进行赋值。效率上初始化列表更好,特别是当定义的变量多的时候,即内存使用量大的时候。
当你的成员是常量或者是引用的时候,即变量只能初始化,不能赋值。这个时候只能用初始化列表。
使用括号来进行初始化时,只能在定义的时候。