鑑於類:什麼時候會調用ctor?
class C
{
public:
C()
{
cout << "Dflt ctor.";
}
C(C& obj)
{
cout << "Copy ctor.";
}
C(C&& obj)
{
cout << "Move ctor.";
}
C& operator=(C& obj)
{
cout << "operator=";
return obj;
}
C& operator=(C&& obj)
{
cout << "Move operator=";
return obj;
}
};
,然後在主:
int main(int argc, char* argv[])
{
C c;
C d = c;
C e;
e = c;
return 0;
}
因爲你會從輸出看到「常規」拷貝構造函數和operator=
的版本被調用,但不是那些與右值ARGS。所以我想問一下在什麼情況下可以調用ctor和operator=(C&&)
?
請在投票時發表評論 – 2016-05-04 20:08:16