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. ポインターのrvalue/const値のオーバーロード
- 4. Webサービスの最も重要な用途
- 5. 最も重要なこと...レッスンは
- 6. const constがrvalue(つまり、メモリに格納されていない)の場合、constはconstへのポインタです。
- 7. RSS/Atomフィード内の最も重要な要素
- 8. オーバーロード解決時にconst左辺参照がconst rvalue参照よりも優先される理由
- 9. rvalue参照引数は、rvalue参照パラメータのconst lvalue参照よりも好きなのはなぜですか?ここ
- 10. 最も重要な符号ビット(リント警告)を設定する
- 11. vimに私の最も重要なコマンドを覚えさせる
- 12. 最も重要なPMD違反は何ですか?
- 13. Python:10個の最も重要な変数を取得
- 14. 最も重要なJavaライブラリは何ですか?
- 15. 主成分分析の最も重要な元の特徴
- 16. PCA:最も重要な寸法のトップ20を取得
- 17. 最も重要な数字基数Javaで並べ替え
- 18. Visual Studio 2010の最も重要な機能
- 19. 文書セットから最も重要なキーワードを抽出する
- 20. 変数尺度で最も重要な要素に丸めますか?
- 21. uint64_tを左シフトすると、最も重要なdwordがゼロになります
- 22. 重複する要素に最も適したJavaコレクション
- 23. ブラウザよりも重要!
- 24. VueJS $ watch $ refs
- 25. データベースに別々に保存する最も重要な電子メールヘッダー
- 26. RISC-V ISA最も重要な40の命令を実装する
- 27. 大規模開発で最も重要なインフラストラクチャコンポーネントは何ですか?
- 28. .NETコアの最も重要な基礎的改善は何ですか
- 29. SIFT/SURFから得られた最も重要な特徴を取得する
- 30. 業務用Webアプリケーションの最も重要なパターンは何ですか?
は、なぜあなたはこれが必要なのでしょうか? 'const auto&'はまったく同じ仕事をします。 – RedX
一時的に変更することができます。 –
実際には、彼らが何をしているか正確な移動コンストラクタを見ればわかります。それらは右辺値にバインドして変更します。 – RedX