728x90
반응형
언리얼 엔진에서 해더 파일(.h 파일)에 클래스 변수를 선언할 때 2가지 방법이 있습니다.
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Camera", meta = (AllowPrivateAccess = "true"))
class USpringArmComponent* SpringArm;
class 키워드를 사용한 선언과
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Camera", meta = (AllowPrivateAccess = "true"))
USpringArmComponent* SpringArm;
class 키워드를 사용하지 않은 선언입니다.
SpringArmComponent를 사용하기 위해서는 #include "GameFramework/SpringArmComponent.h"를 선언해 주어야합니다. 다만 선언하는 위치가 '.h 파일'이냐 '.cpp 파일'이냐에 따라서 class 키워드를 사용해야합니다.
보통 #include는 '.h 파일'에 선언하지만 이럴 경우 컴파일 시간이 늘어나게 되며 의존성이 증가됩니다.
하지만 '.cpp 파일'에 선언하여 전방선언을 사용하면 컴파일 시간을 줄어들고 의존성을 낮출 수 있습니다.
'.h 파일'에 #include "GameFramework/SpringArmComponent.h"을 선언하지 않고 전방선언을 사용하면 컴파일러가 USpringArmComponent* SpringArm이 무엇인지 알 수가 없습니다. 따라서 전방선을 사용할 때 class 키워드를 붙여 클래스라고 알려줍니다.
728x90
반응형
'언리얼 엔진 > C++' 카테고리의 다른 글
언리얼엔진 구조체 c++ (0) | 2021.12.29 |
---|---|
언리얼엔진 Assert (0) | 2021.12.29 |
언리얼엔진 C++ BehaviorTree Start/Stop (0) | 2021.10.17 |
언리얼엔진 C++ AnimMontage EndDelegate (0) | 2021.10.06 |
언리얼엔진 뷰포트 사이즈 얻기 C++ (0) | 2021.06.28 |