C++愤恨者札记4——拷贝构造函数被调用的四种情形
class A{public:A(){}A( A& n){}};void Fn1(A a){}A Fn2(){A a;return a;}void main(){A a;A b(a);//情形1: 用对象初始化另一个对象时A c = a;//情形2: 通过赋值运算,用对象初始化另一个对象,此时触发的是拷贝构造函数,而不是operator=Fn1( a );//情形3: 对象做为参数传递时Fn2();//情形4: 对象做为函数返回值时,拷贝构造函数将会在函数内部被调用}