可能重複:
Does a const reference prolong the life of a temporary?當我將一個臨時int分配給C++中的const引用時會發生什麼?
讓說,我有一個函數f
:
int f(int x){return x;}
const int &a=f(1);
我知道f(1)
只是暫時的,我會在此聲明後銷燬,但
- 確實使得參考常量會給f(1)一個很長的壽命嗎?
- 如果是,其中
f(1)
將被存儲? - 這是否意味着
x
在超出範圍時也沒有被破壞? f(1)
和x
有什麼區別?
你需要一本好的C++書。參見http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list – 2012-03-06 14:27:52
@Ben很少(甚至是好的)書籍涵蓋了這一點。 – 2012-03-06 14:30:30
@Konrad:也許他是指最後一個問題...... – 2012-03-06 14:31:40