A *foo(A a)
{
cout << "-----foo enter-----"<< endl;
A *p = new A();
cout << "-----foo exit------"<< endl;
return p;
}
A *boo(const A& a)
{
cout << "----------boo enter--------"<<endl;
A *p = new A();
cout << "----------boo exit --------"<< endl;
return p;
}
这两个函数的语义一样,但是下面的函数效率高一些,因为少了一次拷贝构造函数