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

CULRRY님의 프로필 이미지
CULRRY

작성한 질문수

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

얕은 복사 vs 깊은 복사 #1

깊은복사 pet 소멸시기

작성

·

289

0

깊은복사를 구현할떄 new를 사용해서 새로운 펫객채를 힙에다가 생성하는데 이건 knight가 소멸될때 자동적으로 pet객체도 소멸되는건가요. 따로 delete를 해줄필요가 없는건가요

답변 3

0

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

설계에 따라 다른데 ~Knight에서 Pet의 delete를 담당했다면,
Pet의 생명주기가 Knight의 생명주기를 따라간다고 설계한 상황이라 볼 수 있습니다.
Knight가 죽고 덩그라니 펫이 돌아다니는 상황은 없겠죠.

0

강의 마지막 부분에서 ~Knight() 부분의 소자에서 delete _pet이 있기 때문에 깊은 복사를 한뒤 Knight 변수가 해제(소멸)되어야 할때 소멸자가 불러지면서 _pet이 delete되기 떄문에 자동적으로 pet 객체도 소멸되는것 아닌가요?

즉, 강의 마지막 부분의 경우에서는 knight가 해주는 경우라고 이해해도 무방한가요?

0

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

knight가 소멸될때 자동적으로 pet객체도 소멸되는건가요.
-> 아닙니다


따로 delete를 해줄필요가 없는건가요

-> 어딘가에서 해줘야 합니다. 설계에 따라 knight가 해줄 수도 있고 밖에서 해줄 수도 있겠죠

CULRRY님의 프로필 이미지
CULRRY

작성한 질문수

질문하기