[C++] 복사 생성자(Copy constructor), 얕은 복사(Shallow Copy), 깊은 복사(Deep Copy)
*을 보며 공부하여 정리한 글입니다. 1. 복사 생성자(Copy constructor) 객체를 복사하여 생성할 때 호출되는 생성자를 말한다. 사용자가 따로 넣지 않을 경우, 컴파일러가 자동적으로 디폴트 복사 생성자를 삽입해준다. class Monster { char* name; int hp; int damage; public: Monster(const Monster& copyMonster); // 복사 생성자 ... }; 함수 내부에서, 받은 인자의 값을 변경할 일이 없다면 다음과 같이 정의하는 것이 더 안전하다. Moster(const Monster& copyMonster); 즉, 다른 객체의 상수 레퍼런스를 매개변수로 받는다. const 이기 때문에 복사 생성자 내부에서 매개변수로 가져온 참조 데이터..