인프런 커뮤니티 질문&답변
이것도 데이터 누수라고 볼 수 있나요?
해결된 질문
작성
·
217
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을 해서
기존의 펫을 날려주는 등의 처리를 해야 합니다





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