如果類中成員函數的參數和返回值都是此類對象,那麼復制構造函數調用兩次?
是的,一次發生在參數傳入,一次發生在return
如果你沒有返回值,那麼只調用一次
#include <iostream>
using namespace std;
class A
{
public:
A() { cout << "A()" << endl; }
A(const A& a) { cout << "A(const A& a)" << endl; }
};
void foo(A a) { }
int main()
{
A a;
foo(a);
}