可能重複:
Why should the copy constructor accept its parameter by reference in C++?複製構造
爲什麼參數拷貝構造函數是按引用傳遞?
可能重複:
Why should the copy constructor accept its parameter by reference in C++?複製構造
爲什麼參數拷貝構造函數是按引用傳遞?
如果按值傳遞,則需要使用COPY CONSTRUCTOR進行復制。 :-)
你不能通過值傳遞它,因爲傳值意味着做/傳遞一個事物的副本......使傳遞給copyy構造函數的參數的副本將是遞歸的,導致堆棧溢出。
正如其他人所說的,你不能通過價值來傳遞它 - 因爲那樣你就需要一個副本來創建副本!
唯一的其他替代辦法是通過指針傳遞,但語法需要地址的,像這樣:
MyClass copy(otherclass); // by reference
MyClass copy(&otherclass); // by pointer
覺得如果它是按值傳遞會發生什麼......的 – mdma 2010-06-02 14:39:17
完全重複[爲什麼複製構造函數在C++中通過引用接受它的參數?](http://stackoverflow.com/questions/2685854/why-should-the-copy-constructor-accept-its-parameter-by-reference-in- C)。 – 2010-06-02 14:40:36