class A
{
public:
A()
{
cout<<"普通构造函数"<<endl;
}
A(const A& a)
{
cout<<"copy construct"<<endl;
}
~A()
{
cout<<"deconstruct"<<endl;
}
A& operator=(const A &a)
{
cout<<"复制操作符"<<endl;
return *this;
}
};
A fA(A a)
{
//A a;
return a;
}
int main()
{
A a;
A b;
b=fA(a);
system("pause");
return 0;
}
1. 对于函数返回的是引用还是非引用,如果我们采用这种方式 A b=fun(a) ,不产生影响。
2. 如果 以这种方式调用, A b ; b=fun(a) 且 函数已拷贝的形式返回,那么可以分为三种