인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

fashion0526님의 프로필 이미지
fashion0526

작성한 질문수

언리얼 엔진4 입문 (C++ 기반)

유니티 vs 언리얼

유니티 vs 언리얼 강의보고 질문드립니다

작성

·

236

0

강의 16분 쯤에 보면 UStaticMeshComponent를 포인터(*)로 만드는 이유가 무엇인가요?

 

저렇게 만들면 StaticMeshComponent 파일에 Mesh 변수가 만들어지는건가요?

답변 1

1

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

C++ 기초에 대해 어느 정도 아시고 계신게 맞을까요?
그냥 객체가 아니라 하필 포인터로 들고 있는 것이 궁금하신지,
아니면 C++ 전방선언 개념에 대해 모르고 계신건지,
질문이 살짝 난해한 것 같네요.

답변을 드리자면 StaticMeshComponent 파일에 Mesh 변수가 만들어지는 것은 아니고
우리가 만드는 AMyActor 클래스 안에 StaticMeshComponent 타입의 Mesh 변수를 만드는 것입니다.
포인터로 들고 있는 이유는 C++ 특성상 순환 참조를 막기 위함이기도 하고
어지간해서는 동적 할당한 객체를 포인터로 들고 있는 것이 효율이 좋기 때문입니다.

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

질문이 이상하긴 했네요.. 포인터로 들고 있는게 궁금했습니다 ㅎㅎ

StaticMeshComponent 타입은 그냥 언리얼에서 제공하는 타입인거죠?

c++은 한번더 다시 봐야겠어요 ㅎ.. 답변 감사드립니다!

fashion0526님의 프로필 이미지
fashion0526

작성한 질문수

질문하기