看板 C_and_CPP 關於我們 聯絡資訊
這是在dev c執行的結果 http://i.imgur.com/wbAaPu1.png 這是codepad執行的結果 http://codepad.org/15eok8cW dev的是兩個拷貝一個解構 codep的是四個拷貝 三個解構 我以為是三個拷貝 一解構 請問codep的是因為傳值 呼叫一次 函式內宣告一次 回傳一次 main接收又複製一次? 然後一離開函式三個都解構這樣? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.29.191 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1418491732.A.774.html
PkmX: Google: Copy elision & (N)RVO 12/14 01:53
PkmX: 另外你看到的結果其實不是完整的 因為你程式停下來的時候 12/14 01:53
PkmX: main還沒結束 正常來說ctor+copy ctor數量和dtor應該要一樣 12/14 01:54
PkmX: 補充一下 以標準來說這份code出現2~4個copy ctor都是正確的 12/14 02:11
anoymouse: 我知道在結束會全解 他還沒結束就解三個 12/14 02:14
anoymouse: 是涵式三個? 12/14 02:42
PkmX: 是的 12/14 03:32