인프런 커뮤니티 질문&답변
스마트포인터에 대해질문있습니다
작성
·
237
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
pakheae님, 질문하신 내용에 대해 답변드립니다.
스마트 포인터 중 weak_ptr는 객체를 소유하지 않고 참조만을 가지는 포인터입니다. 따라서 gameobject객체에서 addcomponent를 호출하여 component 클래스에서 gameobject를 weak_ptr로 참조한다고 할 때, gameobject가 소멸되더라도 weak_ptr는 소유권을 가지지 않기 때문에 component 객체의 소멸을 직접적으로 일으키지는 않습니다. 하지만, gameobject에 대한 참조가 무효화됨을 weak_ptr를 통해 알 수 있으며, 이는 weak_ptr의 expired() 함수를 통해 확인할 수 있습니다. gameobject의 소멸은 component 객체에 대한 참조가 더 이상 유효하지 않음을 의미하지만, component 객체의 소멸을 직접적으로 의미하는 것은 아니기에 component의 생명 주기는 gameobject와 독립적으로 관리되어야 합니다.
원하는 답변을 얻으셨기를 바랍니다. 추가적인 질문이 있으시다면 문의해주세요. 감사합니다.





