我有以下功能:常量T&與T &&
T foo();
而且,在其他功能,我玩返回T
值,如:
const T& t = foo();
或
T&& t = foo();
我想問:
兩者是否相等?
記憶方面,這兩種方法有什麼區別?
我知道,在第一種方法的臨時值壽命的壽命基準時間相匹配。使用右值引用時會發生同樣的情況嗎?
應我甚至考慮使用一個const右值引用(
const T&&
)?
我正在使用第一種方法,那就是我習慣的並且很好地服從我。我仍然圍繞右值引用和C++ 11商品進行包裝。
僅僅因爲你可以創建一個局部右值引用變量並不意味着它是有用的。它們主要用於參數,偶爾會返回值。 – 2013-02-10 01:08:25
「T」是否是推斷類型?這是一個很大的區別。 – 2013-02-10 01:14:52
@sftrabbit:好點。我認爲這個問題意味着'T &&'實際上是一個r值參考,不受參考摺疊規則的約束。 – 2013-02-10 01:20:40