[Unreal 5] 컨테이너

김진우·2025년 7월 31일

Unreal

목록 보기
9/9
post-thumbnail

TArray

동적 배열, C++의 std::vector와 유사하다.

  • 연속적인 메모리 블록을 사용한다. → 캐시 친화적, 빠른 순차 접근.
  • 인덱스를 이용해 접근 가능하다. (Array[i]).
  • 크기가 가변적이다. → Add, Insert, Remove 등으로 원소 추가/삭제.

특징

- 랜덤 접근이 빠르다.
   메모리 주소가 연속되어 있으므로,
   주소 = 시작주소 + (i * sizeof(T))로 바로 계산 가능 → O(1).

- 중간에 삽입/삭제가 느리다.
   연속되어있는 다른 원소들을 모두 밀거나 앞으로 당겨야 하기 때문에 느리다.

TSet

집합, C++의 std::unordered_set과 유사하다.

  • 고유한 값만 저장한다. (중복 불가).
  • 해시 기반 컨테이너이다. → 빠른 탐색 (O(1) 기대).
  • 순서를 보장하지 않는다. (삽입 순서 유지 안 됨).

특징

- 중복 데이터 방지
   해시 기반 버킷(Hash Bucket) 구조이기 때문에 같은 값을 Add하면 추가되지 않는다.

- 검색이 빠르다.
   Contains()는 값의 해시(hash)를 계산해서 특정 버킷(슬롯) 위치를 바로 알 수 있다.

TMap

해시 맵, C++의 std::unordered_map과 유사하다.

  • Key → Value 매핑 구조이다.
  • 내부적으로 TSet 기반으로 구현된다.
  • 빠른 검색, 삽입, 삭제가 가능하다.

사용되는 상황

순서 있고 인덱스로 접근 필요 → TArray
중복 없는 값 모음 → TSet
Key-Value 매핑 → TMap

0개의 댓글