깊은복사 얕은 복사

Posted 2012. 9. 4. 15:09

얉은 복사 : 참조한 메모리 주소 복사

깊은 복사 : 복사할 주소한의 데이터 값을 복사

 

차이점

객체를 복사하는 과정에서 복사생성자가 없을 경우 생성자에서 동적할당된 메모리르 두 객체가 동시에 참조하게 된다 이떄 발생하는 문제로는 여러가지가 있겠지만 두개의 객체가 한 메모리주소를 공유하게 되고 클래스의 경우 프로세스종료시에 소멸자를 호출하게 되는데 소멸할때 호출될 메모리는 하나지만 객체를 두번이나 delete를 하게 된다. 첫 객체가 소멸될땐 문제가 없겠지만 그 다 음 복사된 객체는 소멸할때 이미 없어진 객체를 또 없애는 액션을 취하며 문제가 발생한다.

'C++' 카테고리의 다른 글

interface를 사용한 종속성 최소화  (0) 2012.12.27
스마트 포인터  (0) 2012.09.04