가능한 중복 :
Why should the copy constructor accept its parameter by reference in C++?복사 생성자 ++
왜 우리는 복사 생성자에 항상 참조가 있나요?
class
가있는 경우 :
class Base{};
의 복사 생성자는이 :
Base::Base(const Base& B);
왜 항상 인수로 참조입니다?
가능한 중복 :
Why should the copy constructor accept its parameter by reference in C++?복사 생성자 ++
왜 우리는 복사 생성자에 항상 참조가 있나요?
class
가있는 경우 :
class Base{};
의 복사 생성자는이 :
Base::Base(const Base& B);
왜 항상 인수로 참조입니다?
컴파일러는 매개 변수를 복사 생성자에 전달하기 위해 복사 생성자를 호출해야합니다.
그러면 stack overflow http://www.prodeveloper.org/wp-content/uploads/2008/10/stackoverflow-logo-250.png이됩니다.
매개 변수를 값으로 전달하려고하면 컴파일러에서 매개 변수를 복사해야하며 다시 복사 생성자를 호출합니다. 이것은 끝없는 재귀와 스택 오버 플로우로 이어질 것입니다.
복사 생성자는 개체의 복사본을 만들 필요가있을 때 호출됩니다. 복사 - 생성자는 당신이 다시 원래 객체의 복사본을 만들 필요 것을 값을 통과했습니다 의미 객체의 참조를하지 않을 경우
지금, 생각합니다. 다시 말하면 복사 생성자를 호출하여 객체의 복사본을 만듭니다. 이 방법으로 복사 생성자를 계속 호출합니다.
아하하 이기심 대답 – deek0146
내가 말하기 : 에픽 승리! –
아주 나쁜 .. 누군가가 너무 많은 upvotes을 받고있다 : P는 – Nawaz