回答:
ルールは複雑です。Howard Hinnantのプレゼンテーションの表を引用した別の回答から盗みます。
ここでの教訓は、コンパイラーの暗黙の宣言に依存せず、すべての特殊メンバーを明示的に宣言することです(デフォルトに応じて、または必要に応じて削除されます)。
「特定のクラスのコンパイラー生成関数をリストする方法はありますか?」
もちろんあります。上のLinux(や他のUnixシステム)を使用できnm
、readelf
そしてobjdump
上の生成されたオブジェクト・ファイル/ライブラリ/任意のエクスポートされたシンボル(とはるかに)それらを分解して点検することを実行。
Windowsにも同様のツールがありますが、それは私がよく使用しているプラットフォームではないため、残念ながら、正確なツール名をここで指定することはできません。