구조체 전방선언
943
작성한 질문수 5
강의에서는 구조체를 게임인스턴스 헤더에 바로 만들어서
상관없는데
나중에 따로 헤더파일을 만들어서 구조체를 관리하게 되면
이거도 다른 곳에서 쓸 때 전방선언을 해줘야 하는건가요?
그렇다면 TObjectPtr 을 써서 전방선언을 해야 하나요?
아니면 구조체는 간단하니까 바로 헤더파일을 인클루드 하면 되나요?
초보자라 이 질문이 맞는 질문인지도 모르겠네요
답변 1
0
안녕하세요. 언리얼 헤더툴(UHT) 분석을 거치는 USTRUCT 구조체는 별개 헤더로 선언 가능한데, 에디터에서 마법사를 제공해주지 않아서 작업이 좀 귀찮습니다. 실제로 에픽 소스코드를 봐도 USTRUCT 구조체만 별도로 파일을 분리하는 경우는 별로 없습니다. 그래서 보통은 마법사가 생성해주는 UOBJECT 헤더에 포함시켜서 선언합니다. 아니면 CLASS 내부에 Inner로 선언하기도 하고요.
USTRUCT가 아닌 일반 구조체는 그냥 C++ 쓰듯이 선언하고 사용해주면 됩니다.
전방선언은 조금은 다른 주제인데, 한 헤더 파일에서 다른 헤더파일의 참조를 최대한 없애기 위해 사용합니다.
C++ 문법에서 struct와 class의 동작은 거의 비슷하지만, 보통 언리얼 엔진에서 구조체는 동적할당 포인터로 사용하진 않습니다. 그럴 때는 class로 선언하시는게 좋을 것 같아요.
저는 저 노란색 미리보기 창이 안뜹니다
0
20
1
강의중에 사용하는 ppt 수업 자료
0
37
1
GetName(), SetName() 함수의 오버로딩 관련 문제 문의드립니다.
0
40
1
언리얼 공부 방법에 대해서 질문드립니다.
0
72
1
컴포지션을 위한 컴포넌트 생성에 관해 질문드립니다.
0
82
2
if (NameProp) 은 if (NameProp != nullptr)이랑 같은 의미인가요?
0
96
2
언리얼 계정 로그인 불가 문제
0
117
2
가비지컬렉션 주기를 짧게 유지하면 어떤 이슈가있을까요?
0
75
2
11강 TArray TSet 에 대해서 질문있습니다.
0
72
1
Unreal 연동 후 Visual Studio 빌드오류 제발 살려주십쇼
0
366
3
언리얼에서 제공하는 스마트 포인터 라이브러리 사용
0
75
2
FGCObject 상속 받은 객체에서 Uobject 삭제를 원할 때
0
80
2
게임 내 인벤토리 데이터를 관리 할 경우, TArray / TSet 무엇이 올바를까요?
0
74
2
8강 컴포지션 중 궁금한 것이 있습니다.
0
56
2
헤더 파일 분리 방법
0
84
2
언리얼 엔진 깃 설치
0
88
2
FObjectInitializer 를 사용한 생성자.
0
96
2
언리얼엔진 에서 새로운 클래스를 생성하면
0
75
2
GetName이 이미있는데용?
0
113
2
TObjectPtr 과 일반 포인터에 대한 용도 질문
0
105
2
UPROPERTY() 다음 라인에서 세미콜론이 입력되지 않습니다.
0
164
1
[18:50] 패키지 저장 시 이미 패키지가 있으면 로딩을 다 하고 저장하는 것이 좋은 이유가 궁금합니다
0
140
2
NonPropStudent가 GC이후 invalid된 이유
0
78
2
[44:22] 커스텀 구조체에서 GetTypeHash() 와 operator== 를 오버로딩 하는 이유에 대한 질문
0
108
2





