类的成员数据可以再构造函数的初始化列表中赋值,也可以再构造函数的函数体里面赋值,那么这两种有什么样的区别呢?
1 一般情况下,这两种没有什么区别;
2 当类成员是没有默认构造函数的对象时,必须使用初始化列表进行赋值;
3 当类成员是const成员或引用成员时,也必须使用初始化列表进行赋值;
4 使用初始化列表提高了效率,当在类的构造函数对对象进行赋值时,需要一个默认构造函数+一个拷贝构造函数,如果直接使用初始化列表,那么只需要一个构造函数就可以完成。
类的成员数据可以再构造函数的初始化列表中赋值,也可以再构造函数的函数体里面赋值,那么这两种有什么样的区别呢?
1 一般情况下,这两种没有什么区别;
2 当类成员是没有默认构造函数的对象时,必须使用初始化列表进行赋值;
3 当类成员是const成员或引用成员时,也必须使用初始化列表进行赋值;
4 使用初始化列表提高了效率,当在类的构造函数对对象进行赋值时,需要一个默认构造函数+一个拷贝构造函数,如果直接使用初始化列表,那么只需要一个构造函数就可以完成。