1. ホーム
  2. c++

[解決済み] rvalueのconstへの参照は何か使い道があるのでしょうか?

2022-12-05 15:33:37

質問

そうではないと思うが、確認したい。の使い道はあるのでしょうか? const Foo&& ここで Foo はクラスタイプですか?

どのように解決するのですか?

例えば、C++0xの草案では、数カ所で使用されています。

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

上記2つのオーバーロードにより、他の ref(T&)cref(const T&) 関数はrvalueにバインドされません(そうでなければ可能です)。

更新

公式の規格を確認したところ N3290 を確認したところ、20.8 Function objects [function.objects]/p2 に記載がありました。

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

次に、公開されている最新のC++11後のドラフトを確認してみました。 N3485 で、20.8 Function objects [function.objects]/p2 にまだ書いてあります。

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