C 11 での二重アンパサンドのデコード
C 11 では、かなりの注目を集めている新しい演算子である二重アンパサンド (T&&) が導入されています。 。この謎めいたシンボルは、その重要性と有用性に関して好奇心と疑問を引き起こしました。
二重アンパサンドとは何ですか?
二重アンパサンド演算子は右辺値参照を宣言します。この右辺値参照は、C 03 の従来の左辺値参照とは対照的に、const 修飾子を必要とせずに右辺値 (一時値) と左辺値の両方にバインドできます。その結果、一時変数を参照できる右辺値参照変数の宣言が可能になります。
右辺値参照の目的
右辺値参照は主に次の拡張機能を提供します。 :
移動セマンティクス:
移動セマンティクスにより、const 左辺値参照の代わりに右辺値参照を取る移動コンストラクターと移動代入演算子の定義が可能になります。移動関数は、ソースを保持する必要性を回避しながら、コピー動作をシミュレートします。通常、ソースを変更してリソースの所有権を解放し、その結果、操作がより効率的になり、不要なコピーが削減されます。
完全な転送:
右辺値参照により、正しい転送が容易になります。テンプレート関数の引数。これにより、左辺値引数または右辺値引数の任意の組み合わせを受け入れ、それらを適切なコンストラクターに渡すことができる std::forward のような汎用ファクトリ関数を作成できるようになります。
右辺値参照の追加プロパティ:
以上がC 11 の二重アンパサンド (&&) は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。