728x90 cpp 얕은 복사와 깊은 복사 얕은 복사 새롭게 생성하는 객체에 다른 객체의 값을 대입하고 싶을 때 대입 연산자(=)를 사용. Robot robot1("hi"); 특히 객체의 멤버가 메모리 공간의 힙(heap) 영역을 참조할 경우에는 문제가 발생! 깊은 복사 깊은 복사를 하게 되면 새로운 메모리를 할당받아 데이터를 객체에 값을 대입하게 됨. 원하는 값을 받았지만 독립적으로 메모리를 써 문제가 생길 여지가 없음! class Robot { public: char *name; // 생성자 Robot(char* _name) { //공간을 새로 할당해서 데이터를 입력 name = new char[strlen(_name) + 1]; strcpy(name, _name); } // 복사 생성자 - 깊은 복사 Robot(const Robot& r) .. 2021. 12. 21. 이전 1 다음 728x90