ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

コピーコンストラクタとコピー代入演算子

コピーコンストラクタとコピー代入演算子の部分の知識が怪しいので復習。

class Test
{
public:
    Test();                         // デフォルトコンストラクタ
    Test(const Test& a);            // コピーコンストラクタ
    Test& operator=(const Test& a); // コピー代入演算子
};

Test a;     // デフォルトコンストラクタが使われる
Test b(a);  // コピーコンストラクタが使われる
a = b;      // コピー代入演算子が使われる
Test c = b; // コピーコンストラクタが使われる

新しいオブジェクトを定義するときにコンストラクタが呼び出されるということを覚えておけば区別しやすい。