C ++ 11には、特別なメンバー関数のデフォルト実装を作成するようにコンパイラーに指示する機能が追加されています。関数を削除することの価値はわかりますが、関数を明示的にデフォルト設定することの価値はどこにありますか?空白のままにしておくと、コンパイラがとにかくそれを行います。
私が見ることができる唯一のポイントは、デフォルトのコンストラクターは、他のコンストラクターが存在しない場合にのみ作成されるということです。
class eg {
public:
eg(int i);
eg() = default;
};
しかし、それはあなたが今それをする方法より本当に良いですか?
class eg {
public:
eg(int i);
eg() {}
};
または、ユースケースがありませんか?