作者rnbjacky (你今天浪費時間了嗎?)
看板C_and_CPP
標題[問題] return a local value
時間Sat Dec 24 16:15:48 2011
問題(Question):
請問第30行 " return obj; " 回傳local variable 值到main時
做了什麼事? copy ctor?
可以讓main好像有了一個新的物件,不會因為out of scope結果輸出錯誤值
感謝!!
程式碼(Code):(請善用置底文網頁, 記得排版)
http://codepad.org/7SnYOmdn
--
蓬頭垢面綁馬尾的中年胖大叔拿鼓棒打爵士鼓是音樂浪人
蓬頭垢面綁馬尾的中年胖大叔拿滑鼠打三國是死宅男
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.122.183
→ PkmX:正常來說會呼叫copy ctor將str()內的obj複製給main()的y 12/24 20:23
→ PkmX:但是C++標準允許compiler只建構y然後直接對y進行操作 12/24 20:27
→ PkmX:省略掉一次copy的動作 有興趣可以查一下RVO/NRVO 12/24 20:28