언어 공부/C++
5. 복사생성자와 얕은 복사, 깊은 복사
LTSGOD
2023. 1. 14. 11:23
복사 생성자
- 다른 객체(같은 클래스)를 이용해서 새로운 객체를 초기화
- 암시적(implicit) 복사 생성자
- 코드에 복사생성자가 없는 경우, 컴파일러가 암시적 복사생성자를 자동생성
- 암시적 복사 생성자는 얕은 복사를 수행
- 얕은 복사?? 각멤버값을 복사해서 넣음.
- 얕은 복사의 문제점 -> 안에 포인터형 변수가 동적메모리를 가리킨다면 주소만 바뀌어 별도의 메모리공간이 아닌 같은 메모리 공간을 가리키게 되는 문제점 발생
- 따라서 직접 복사생성자를 만들어 깊은 복사를 수행하여야함.