ホームページ > バックエンド開発 > C++ > C 11 の二重アンパサンド (&&) は何を意味しますか?

C 11 の二重アンパサンド (&&) は何を意味しますか?

Mary-Kate Olsen
リリース: 2024-12-22 05:54:09
オリジナル
423 人が閲覧しました

What Does the Double Ampersand (&&) Mean in C  11?

C 11 での二重アンパサンドのデコード

C 11 では、かなりの注目を集めている新しい演算子である二重アンパサンド (T&&) が導入されています。 。この謎めいたシンボルは、その重要性と有用性に関して好奇心と疑問を引き起こしました。

二重アンパサンドとは何ですか?

二重アンパサンド演算子は右辺値参照を宣言します。この右辺値参照は、C 03 の従来の左辺値参照とは対照的に、const 修飾子を必要とせずに右辺値 (一時値) と左辺値の両方にバインドできます。その結果、一時変数を参照できる右辺値参照変数の宣言が可能になります。

右辺値参照の目的

右辺値参照は主に次の拡張機能を提供します。 :

移動セマンティクス:

移動セマンティクスにより、const 左辺値参照の代わりに右辺値参照を取る移動コンストラクターと移動代入演算子の定義が可能になります。移動関数は、ソースを保持する必要性を回避しながら、コピー動作をシミュレートします。通常、ソースを変更してリソースの所有権を解放し、その結果、操作がより効率的になり、不要なコピーが削減されます。

完全な転送:

右辺値参照により、正しい転送が容易になります。テンプレート関数の引数。これにより、左辺値引数または右辺値引数の任意の組み合わせを受け入れ、それらを適切なコンストラクターに渡すことができる std::forward のような汎用ファクトリ関数を作成できるようになります。

右辺値参照の追加プロパティ:

  • 左辺値は左辺値参照を優先しますが、オーバーロードでは右辺値は右辺値参照を優先します
  • 右辺値参照は、暗黙的な変換から生じる右辺値と一時値に暗黙的にバインドされます。
  • 名前付き右辺値参照は左辺値ですが、名前のない右辺値参照は右辺値です。

以上がC 11 の二重アンパサンド (&&) は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート