인프런 커뮤니티 질문&답변
이것도 데이터 누수라고 볼 수 있나요?
해결된 질문
작성
·
211
0
Pet() Pet(const Pet&) Pet() Pet(const Pet&) ~Pet() ~Pet() ~Pet()
깊은 복사 구현후 실행하면 생성자 4번, 소멸자 3번 출력되는데
Knight knight3; 때 생성된 Pet()이
knight3 = knight 때 복사 대입 연산자에서 생성된 pet으로 대체 되잖아요.
그래서 하나의 pet이 소멸이 안된 건가요?
이정도 데이터 누수는 괜찮은 건가요?
이것도 관리해 줘야 하나요?
답변 1
2
Rookiss
지식공유자
네 데이터 누수가 맞습니다.
이번 주제는 그냥 얕은 복사 vs 깊은 복사라서
다른 부분을 신경을 안 쓴 것이지만,
제대로 하려면 꼼꼼히 _pet을 대체하기 전에 delete _pet을 해서
기존의 펫을 날려주는 등의 처리를 해야 합니다





그렇군요. 감사합니다:)