그냥 게임개발자

[UE5] - 언리얼 컨테이너 본문

UE5_Tutorial1

[UE5] - 언리얼 컨테이너

sudoju 2023. 10. 4. 17:15

일상 C++에서 사용하는 컨테이너와 조금 차이가 있다.

물론 C++의 컨테이너를 이용해서 만들어도 되지만 추후에 크래쉬가 발생할 수 있다고 한다.

ex) vector, map, unordered_map

 

그래서 이 것을 언리얼 엔진에서 제공해주는 컨테이너가 따로 있다.

 

vector  ➜ TArray

 

C++ vector에서는

vector.Empty()라는 함수로 존재하는지 체크하는 함수가 있는데, 언리얼에서는

TArray.Empty()라는 함수는 TArray 안에 있는 내용을 비우겠다라는 함수이다.

즉 vector.clear()랑 같은 동작을 한다.

정의는 같은데 동작이 다르니 헷갈릴 수 있는 점 참고하길 바란다.

 

 

unorderd_map  ➜ TMap

(map은 Tree기반이고, unorderd_map은  hash기반으로 되어있어 unorderd_map이 속도가 더 빠르기에 unorderd_map을 제공해주는 것으로 알고 있다.)

 

string  ➜ FString

 

더 추가적으로 컨테이너를 보고 싶다면 언리얼 문서에서 확인할 수 있다.

 

https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/TArrays/

 

TArray: 언리얼 엔진의 배열

 

docs.unrealengine.com

 

어지간하면 표준 C++ STL보다 언리얼에서 제공하는 것을 사용하는 걸 권장한다.