Taene's
[U C++] Unreal C++ type and size 본문
Unreal Engine C++ type size
- bool - 부울 값(부울 크기 추정 금지), BOOL은 검파일되지 않습니다.
- TCHAR - character(문자) (TCHAR 크기 추정금지)
- uint8 - unsigned byte (부호 없는 바이트) (1바이트)
- int8 - signed byte(부호 있는 바이트) (1바이트)
- uint16 - unsigned 'shorts'(부호 없는 'short') (2바이트)
- int16 - signed 'short'(부호 있는 'short')(2바이트)
- uint32 - unsigned int(부호 없는 int) (4바이트)
- int32 - signed int(부호 있는 int) (4바이트)
- uint64 - unsigned 'quad word'(부호 없는 '쿼드 단어') (8바이트)
- int64 - signed 'quad word'(부호 있는 '쿼드 단어') (8바이트)
- float - 단정밀도 부동 소수점(4바이트)
- double - 배정밀도 부동 소수점(8바이트)
- PTRINT - 포인터를 가질 수 있는 정수(PTRINT 크기 추정 금지)
bool 타입의 선언 시 주의사항
- bool은 크기가 명확하지 않기 때문에 헤더파일(.h)에서 선언할 경우 bool이라는 데이터 타입을 사용하지 않고, byte 정보를 사용한다.
- 참과 거짓을 저장하는데 byte는 데이터 양이 많으므로, Bit Field 오퍼레이터를 사용하여 데이터 크기를 제한시킨다.
- 따라서, 헤더파일에는 bool 대신 uint8 타입을 사용하되 BIt Field 오퍼레이터로 그 크기를 제한한다.
- 이때, 일반 uint8과의 구분을 위해 b접두사를 사용한다.
- Cpp 로직에서는(.cpp) 자유롭게 bool을 사용해도 된다.
// .h에서의 bool 선언
uint8 bNetTemporary:1; //uint8은 원래 1byte(8bit)이므로 bit field를 사용해 1bit로 크기를 제한함
'Unreal5 > Unreal C++' 카테고리의 다른 글
[U C++] Unreal Object & Reflection System (0) | 2024.07.05 |
---|---|
[U C++] Class - FName (0) | 2024.07.04 |
[U C++] Class - FString (0) | 2024.07.04 |
[U C++] UE Coding Style (0) | 2024.07.03 |
[U C++] UE_LOG() (0) | 2024.07.03 |