[問題] copy constructor的return by value

看板C_and_CPP作者 (chise)時間13年前 (2012/03/16 15:54), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
請問大家一個copy constructor的問題 書上寫下面三種情況是copy constructor會被呼叫 1.When instantiating one object and initializing it with values from another object 這個我能理解 例如 aclass a ; aclass b(a) ; aclass c=b ; 2.When passing an object by value. 這個我的理解是 例如 有個函數 void foo(aclass apara) .....(1) int main() { aclass arg ; foo(arg) ; .....(2) } (1)這一行裡面的aclass apara 被(2)這一行的arg initialize 有點類似 aclass arg ; aclass apara(arg) ; 的感覺 3. When an object is returned from a function by value. 不過這個我就不能理解copy constructor怎麼被呼叫出來用了 請問各位 3 這種情況是??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.205.108

03/17 13:22, , 1F
aclass a; return a;
03/17 13:22, 1F
文章代碼(AID): #1FOl6boI (C_and_CPP)
文章代碼(AID): #1FOl6boI (C_and_CPP)