강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

culrry のプロフィール画像
culrry

投稿した質問数

C++とUnrealで作るMMORPGゲーム開発シリーズ Part1: C++プログラミング入門

浅いコピー vs 深いコピー #1

깊은복사 pet 소멸시기

作成

·

357

0

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

C++

回答 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

投稿した質問数

質問する