Taene's

[U C++] Unreal C++ type and size 본문

Unreal5/Unreal C++

[U C++] Unreal C++ type and size

taene_ 2024. 7. 4. 15:58

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