ホームページ >バックエンド開発 >C++ >C で Const Rvalue 参照が役立つのはどのような場合ですか?

C で Const Rvalue 参照が役立つのはどのような場合ですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-05 21:15:14173ブラウズ

When Are Const Rvalue References Useful in C  ?

Const への右辺値参照は役に立ちますか?

C プログラミングの領域では、興味深い疑問が生じます。const クラス型への右辺値参照は何らかの目的を果たしますか?最初はそれらが冗長であると考えるかもしれませんが、詳しく調べると、それらが時折役立つことがわかります。

C 0x 言語標準の草案には、それらのアプリケーションの例が示されています。 2 つの関数テンプレート ref と cref は次のように定義されています:

template <class T> void ref(const T&&) = delete;
template <class T> void cref(const T&&) = delete;

これらのオーバーロードは、他の ref(T&) 関数と cref(const T&) 関数が右辺値で呼び出されないようにするという重要な目的を果たします。これは、const への右辺値参照が定義されていない場合に可能です。

更新:

公式の C 標準 (N3290) をさらに調査すると、同じ関数テンプレートが見つかりました。セクション 20.8 [function.objects]/p2 に記載されています。さらに、C 11 以降の最新のドラフト (N3485) にも、これらのテンプレートが同じ場所に含まれています。

以上がC で Const Rvalue 参照が役立つのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。