移動操作の自動生成のルール
C 11 では、移動操作を自動的に生成するコンパイラの機能は、コピー操作のルールとは異なります。 C 98.
移動コンストラクターと移動代入演算子
次の条件下では、コンパイラーは移動コンストラクターと移動代入演算子を自動的に生成します:
移動操作が自動的に生成されないケース
次の条件のいずれかが満たされる場合、コンパイラは移動操作を自動的に生成しません。 :
自動生成ルールを検証するツール
次のリソースは、自動生成ルールを視覚的に表現したものです。移動操作を含む特別メンバーの説明:
[Howard Hinnant の ACCU 2014 プレゼンテーション スライドの画像](https://i.sstatic.net/b2VBV.png)
追加の説明
表内の赤い四角は、非推奨の動作を示します。非推奨への依存を避けたい場合は、C 98/03 の「3 のルール」に従うことを検討してください。デストラクターを宣言する場合は両方のコピー メンバーを宣言するか、少なくとも 1 つのコピー メンバーを宣言します。
以上がC 11 コンパイラはいつ移動操作を自動的に生成しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。