• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

깊은복사 pet 소멸시기

21.02.09 15:02 작성 조회수 197

0

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

답변 3

·

답변을 작성해보세요.

0

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

0

초보언리얼님의 프로필

초보언리얼

2021.03.18

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

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

0

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


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

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