인프런 커뮤니티 질문&답변

baljang님의 프로필 이미지
baljang

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

얕은 복사 vs 깊은 복사 #1

이것도 데이터 누수라고 볼 수 있나요?

해결된 질문

작성

·

167

0

Pet() Pet(const Pet&) Pet() Pet(const Pet&) ~Pet() ~Pet() ~Pet()
 
깊은 복사 구현후 실행하면 생성자 4번, 소멸자 3번 출력되는데
 
Knight knight3; 때 생성된 Pet()이
knight3 = knight 때 복사 대입 연산자에서 생성된 pet으로 대체 되잖아요.
그래서 하나의 pet이 소멸이 안된 건가요?
이정도 데이터 누수는 괜찮은 건가요?
이것도 관리해 줘야 하나요?

답변 1

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

네 데이터 누수가 맞습니다.
이번 주제는 그냥 얕은 복사 vs 깊은 복사라서
다른 부분을 신경을 안 쓴 것이지만,
제대로 하려면 꼼꼼히 _pet을 대체하기 전에 delete _pet을 해서
기존의 펫을 날려주는 등의 처리를 해야 합니다

baljang님의 프로필 이미지
baljang
질문자

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

baljang님의 프로필 이미지
baljang

작성한 질문수

질문하기