作者elefant ()
看板C_and_CPP
標題[問題] 物件在函式參數列的生命週期
時間Tue Mar 23 22:34:23 2010
class A { int getData() {return 0;} } ;
假設今天class A的用法是這樣
foo( A().getData() ) ;
則在evaluate foo() 的參數時所產生的暫存A物件
其生命週期是到那裏為止啊?
測試的結果是在foo()被執行完以後
在這邊有幾個問題
1. 此結果是platform specific的嗎? 與calling convention有關嗎?
還是這是standard?
2. 如果是標準的話, 此例可由暫存物件的life cycle通則推論出嘛?
還是說這是關於暫存物件搭配function call的特殊規則?
謝謝囉 ^_^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.98.161
→ elefant:好像有些不一樣耶,我的函式並沒有reference去指向暫存物件 03/23 22:44
推 dendrobium:那A是啥.........? 03/24 08:28