クラスのコピーや割り当てを禁止するには、コピーコンストラクタ と代入演算子をprivateにするのが一般的です。 GoogleとQtの両方に、これを簡単に見えるようにするマクロがあります。 これらのマクロは、以下のとおりです。クラスのコピーと割り当てを禁止するマクロ。 Google -vs-Qt
グーグル:
#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
TypeName(const TypeName&); \
void operator=(const TypeName&)
のQt:
#define Q_DISABLE_COPY(Class) \
Class(const Class &); \
Class &operator=(const Class &);
質問: なぜ2つの代入演算子の署名が異なっていますか? Qtのバージョンが正しいようです。 両者の実際の違いは何ですか?
もう一つの小さな違いは、Qtの適応がセミコロンで終わることです。 – Dennis