TArray 5

[UE5] 컨테이너(TArray, TMap, TSet)

1. 언리얼 엔진에 자체 컨테이너가 필요한 이유게임 프로젝트에서는 수천 개의 액터 목록, 인벤토리 아이템, 퀘스트 데이터 등 대량의 데이터를 효율적으로 관리해야 합니다. C++ 표준 라이브러리(STL)에도 std::vector, std::unordered_map, std::unordered_set 같은 훌륭한 컨테이너가 있지만, 언리얼 엔진은 이를 직접 사용하지 않고 자체 컨테이너 라이브러리(UCL)를 구현하여 사용합니다.그 이유는 크게 세 가지입니다. 첫째, STL은 범용성을 중시하여 컴파일 시간이 길어지는 경향이 있으며, 대규모 게임 프로젝트에서는 이 비용이 누적되어 빌드 시간에 상당한 영향을 줍니다. 둘째, 언리얼 엔진의 리플렉션 시스템과 가비지 컬렉션을 지원하려면 UPROPERTY 매크로와 연동되..

언리얼 엔진 5 2026.02.24

[언리얼 C++] 컨테이너 클래스 TArray 사용법 (힙, 슬랙)

TArray 컨테이너 클래스의 기본적인 설명과 간단한 사용법은 [언리얼 C++] 컨테이너 클래스 TArray 사용법 (생성 및 삽입, 반복처리) (tistory.com) 글을 참고하시기 바랍니다. 이 글에서는 TArray 컨테이너 클래스의 힙과 슬랙에 대해 알아보겠습니다. 1. TArray 컨테이너 힙 구조 지원 TArray 컨테이너에는 이진 힙 데이터 구조체를 지원하는 함수가 존재합니다. 힙은 부모 노드가 자신의 어떠한 자식 노드보다 이전 순서 또는 동등한 순서에 위치한 이진 트리 유형입니다. 컨테이너로 구현되면, 트리의 루트 노드는 0번째 인덱스의 엘리먼트이며, N번째 인덱스 노드의 좌우 자식 인덱스는 각각 2N+1과 2N+2입니다. 그리고 같은 레벨에 존재하는 자식 노드들은 서로에 대해 특정한 순서..

[언리얼 C++] 컨테이너 클래스 TArray 사용법 (엘리먼트 제거, 연산자)

TArray 컨테이너 클래스의 기본적인 설명과 간단한 사용법은 [언리얼 C++] 컨테이너 클래스 TArray 사용법 (생성 및 삽입, 반복처리) (tistory.com) 글을 참고하시기 바랍니다. 이 글에서는 TArray 컨테이너 클래스의 엘리먼트 제거, 연산자에 대해 알아보겠습니다. 1. TArray 컨테이너 엘리먼트 제거 기능 TArray ValArr; int32 Temp[] = { 10, 20, 30, 5, 10, 15, 20, 25, 30 }; ValArr.Append(Temp, ARRAY_COUNT(Temp)); // ValArr = {10,20,30,5,10,15,20,25,30} ValArr.Remove(20); // ValArr = {10,30,5,10,15,25,30} 위 예제 코드에서 ..

[언리얼 C++] 컨테이너 클래스 TArray 사용법 (소팅, 쿼리)

TArray 컨테이너 클래스의 기본적인 설명과 간단한 사용법은 [언리얼 C++] 컨테이너 클래스 TArray 사용법 (생성 및 삽입, 반복처리) (tistory.com) 글을 참고하시기 바랍니다. 이 글에서는 TArray 컨테이너 클래스의 소팅, 쿼리 기능에 대해 알아보겠습니다. 1. TArray 컨테이너 소팅 기능 StrArray.Sort(); // StrArray = {"!","Brave","Hello","of","Tomorrow","World"} TArray 컨테이너는 Sort() 함수를 호출하는 것만으로도 간단히 소팅이 가능합니다. StrArray.Sort([](const FString& A, const FString& B) { return A.Len() < B.Len(); }); // StrAr..

[언리얼 C++] 컨테이너 클래스 TArray 사용법 (생성 및 삽입, 반복처리)

언리얼 엔진의 가장 간단한 컨테이너 클래스는 TArray입니다. TArray는 템플릿 클래스로 타입이 같은 다른 오브젝트들을 담을 수 있는 클래스입니다. TArray 컨테이너는 언리얼 엔진에서 가장 자주 쓰이는 컨테이너 클래스로 신속성, 메모리 효율성, 안전성을 염두에 두고 디자인되었습니다. TArray 타입은 두가지 프로퍼티로 정의되는데, 바로 엘리먼트 타입과 얼로케이터입니다. 이 글에서는 주로 사용되는 엘리먼트 타입의 TArray에 대해 다뤄보도록 하겠습니다. 엘리먼트 타입은 배열에 저장되는 오브젝트 타입입니다. TArray 컨테이너는 소위 동질성 컨테이너로, 속하는 엘리먼트들 전부 같은 타입이어야 합니다. 타입이 다른 엘리먼트를 하나의 TArray 컨테이너에 저장할 수는 없습니다. TArray 컨테..