C++ 03では、const&
トリック(または「最も重要なconst」)を使用して、一時的なライフタイムをリファレンスの有効期間まで延長することができます。私の質問は、C + +の0xでは、この動作はrvalue参照に拡張されますか?例えばauto&& x = someFunction();
最も重要なconst&rvalue refs
5
A
答えて
4
[class.temporary]
によれば、それがyesでコンパイルされると、一時的な存続期間が延長されます。
+1
rvalue参照の明示的な言及はありませんが、それは "参照"という用語に暗示されていると思います。しかし、私は不安になります。 –
+2
§8.3.2/ 2を参照してください:&を使用して宣言された参照型は左辺参照と呼ばれ、&&を使用して と宣言された参照型は右辺参照と呼ばれます。 (...) が明示的に記載されている場合を除き、それらは意味的に同等であり、一般的に参照と呼ばれます。 – Vitus
0
それは完全にVC10のSP1でコンパイルされます。
int && Get()
{
return 10;
}
const auto&& y=Get();
関連する問題
- 1. rvalue refsとstd :: move
- 2. 並行処理でRvalue refs
- 3. Webサービスの最も重要な用途
- 4. 最も重要なこと...レッスンは
- 5. const constがrvalue(つまり、メモリに格納されていない)の場合、constはconstへのポインタです。
- 6. RSS/Atomフィード内の最も重要な要素
- 7. vimに私の最も重要なコマンドを覚えさせる
- 8. Python:10個の最も重要な変数を取得
- 9. 最も重要なPMD違反は何ですか?
- 10. 最も重要なJavaライブラリは何ですか?
- 11. Visual Studio 2010の最も重要な機能
- 12. 最も重要な数字基数Javaで並べ替え
- 13. ブラウザよりも重要!
- 14. refs/original/refs/heads/tmpのリカバリ方法は?
- 15. 業務用Webアプリケーションの最も重要なパターンは何ですか?
- 16. 大規模開発で最も重要なインフラストラクチャコンポーネントは何ですか?
- 17. データベースに別々に保存する最も重要な電子メールヘッダー
- 18. SIFT/SURFから得られた最も重要な特徴を取得する
- 19. const list、const要素以外のアクセス
- 20. 重要なデータ
- 21. メモリが最も少ないDOM要素
- 22. Clojure refsとadd-watch
- 23. IE8!重要なバグ?
- 24. 最終参照変数の重要度
- 25. CSSより重要なものはありますか?
- 26. Androidで利用できない最も重要なPOSIX関数は何ですか?
- 27. rvalueのc_str() - 安全でない?
- 28. rvalue関数のオーバーロード
- 29. 最も頻繁要素、MATLAB
- 30. 最も近い要素MATLAB
は、なぜあなたはこれが必要なのでしょうか? 'const auto&'はまったく同じ仕事をします。 – RedX
一時的に変更することができます。 –
実際には、彼らが何をしているか正確な移動コンストラクタを見ればわかります。それらは右辺値にバインドして変更します。 – RedX