ホームページ > バックエンド開発 > C++ > `const Foo&&` 右辺値参照はどのような場合に役立ちますか?

`const Foo&&` 右辺値参照はどのような場合に役立ちますか?

DDD
リリース: 2024-12-09 19:00:22
オリジナル
586 人が閲覧しました

When Are `const Foo&&` Rvalue References Useful?

Const への右辺値参照: 実践的な観点

const (const Foo&&) への右辺値参照には何の有用性もないと一般に信じられていますが、ドラフト C 0x で実証されているように、これらは実際に実用的なアプリケーションです。

C 0x ドラフトでは、他の ref(T&) および cref(const T&) 関数への右辺値の望ましくないバインディングを防ぐために、さまざまなインスタンスでこのような参照が採用されています。これらの関数は、左辺値 (オブジェクトへの参照) のみを受け入れ、右辺値 (一時値への参照) が誤ってバインドされないように const への右辺値参照を受け入れるように特別に設計されています。

最近、公式標準 N3290 (非公開) をレビューしました。アクセス可能)、20.8 Function オブジェクト [function.objects]/p2:

template で次の行を発見しました。 void ref(const T&&) = delete;
テンプレート void cref(const T&&) = delete;

C 11 以降の最新のドラフトである N3485 (公開されている) をさらに調査したところ、20.8 関数オブジェクト [function.objects]/p2 でこれらの行が存続していることが確認されました。 .

これらの例は、特定のシナリオ、特に正しい動作を保証する場合における const への右辺値参照の有用性を示しています。関数のオーバーロードを防止し、右辺値の意図しないバインドを防ぎます。

以上が`const Foo&&` 右辺値参照はどのような場合に役立ちますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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