因为类类型的数据成员对象在进入函数体前已经构造完成,也就是说在成员初始化列表处进行构造对象的工作,调用构造函数,在进入函数体之后,进行的是对已经构造好的类对象的赋值,又调用个拷贝赋值操作符才能完成(如果并未提供,则使用编译器提供的默认按成员赋值行为) Note: 初始化列表的成员初始化顺序: C++初始化类成员时...
提高构造函数效率 对内置类型(int,bool,char等等)使用无法提高效率。 第一、三点略过不讲,来直接看第二点,先上代码 1classA2{3public:4A(inti =0) :m_i(i) { cout <<"A的构造函数"<< endl; cout <<this<<endl; }5A(constA& a):m_i(a.m_i) { cout <<"A的拷贝构造函数"<< endl; cout...
提高构造函数效率 对内置类型(int,bool,char等等)使用无法提高效率。 第一、三点略过不讲,来直接看第二点,先上代码 1classA2{3public:4A(inti =0) :m_i(i) { cout <<"A的构造函数"<< endl; cout <<this<<endl; }5A(constA& a):m_i(a.m_i) { cout <<"A的拷贝构造函数"<< endl; cout...
也就是说在成员初始化列表处进行构造对象的工作,调用构造函数,在进入函数体之后,进行的是对已经构造好的类对象的赋值,又调用个拷贝赋值操作符才能完成(如果并未提供,则使用编译器提供的默认按成员赋值行为)