先上结论:
构造函数和初始化列表都是对类成员的初始化,功能和目的没有却别,只是效率上初始化列表可能会高一些。
- 当初始化的成员都是进本数据类型(int,float,char等)两者的效率一样。
- 当初始化成员包含类对象时,初始话列表的效率要高一些(拷贝构造函数的调用)。
例子:(包含类对象的初始化)
#include <iostream>
using namespace std;
class AA
{
public:
AA()
{
std::cout << "AA默认构造函数" << std::endl;
}
AA(const AA&)
{
std::cout << "AA拷贝构造函数" << std::endl;
}
AA& operator=(const AA&)
{
std::cout << "AA赋值