だから、私の質問は簡単です:デフォルトのコンストラクタ/代入はnoexceptまたはconstexprに邪魔されますか?
はnoexcept
またはconstexpr
(またはあなたがの事でし他のもの)として不履行クラスのコンストラクタを指定することで任意のポイントはありますか?
2つは同じように動作しますか?
クラスがPODであるかどうかによって異なりますか? たとえば、上記の例では両方とも同じように動作しますが、たとえば私がプライベートメンバーstd::vector<int> v = { 1, 2, 3, 4 };
でクラス内の割り当てを使用する場合、foo() = default;
はデフォルトでnoexcept
でなくconstexpr
ではありません。
foo() = default;
を書くことによって、コンパイラは最高のバージョンを選択します:可能であればnoexcept
、可能であればconstexpr
などですか?
私は質問がはっきりしていることを願っています!