Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- CS
- 언리얼 엔진5 #언리얼 클라이언트 프로그래밍
- build.cs
- Toon Shading
- Gas
- 언리얼엔진5 #언리얼 클라이언트 프로그래밍
- 코드리뷰
- C++
- 오늘밤 세계에서 이 사랑이 사라진다 해도 #독후감 #오열
- 원카페#무인카페#카페추천#카페맛집
- 브론즈
- topdownmove
- 순환 리스트
- 헤더 경로
- c++ 베이직
- A* Algorithm
- Module
- 툰쉐이딩
- 폭설 #미친 날씨
- leetcode
- Unreal
- Console
- 네트워크 기초
- STL
- 백준
- CS50
- Harvard
- UE_5
- 언리얼
- 메테리얼
Archives
- Today
- Total
WN_인생기록
[UE_5] TArray 본문
TArray: 언리얼 엔진의 배열
docs.unrealengine.com
Dynamic Array인 자료구조이며, c++ STL의 vector와 유사함.
중간에 데이터를 추가하는것만 아니면, 탐색이 빠른 자료구조.
데이터가 커지면 탐색이 느려지긴 함.
함수 기능
Emplace 를 통해서 배열 끝에 삽입 가능.
AddUnique 는 기존 컨테이너에 원소가 존재하지 않는 경우에만 추가
StrArr.AddUnique(TEXT("!"));
// StrArr == ["Hello","World","of","Tomorrow","!"]
StrArr.AddUnique(TEXT("!"));
// StrArr is unchanged as "!" is already an element
SetNum을 통해서 해당 원소에 번호를 부여하고, Set한 번호가 원소보다 많으면 공백으로 추가함
StrArr.SetNum(8);
// StrArr == ["Hello","Brave","World","of","Tomorrow","!","",""]
Sort 는 데이터의 길이 별로 정렬됨.
Num 기능을 통해서 해당 원소의 갯수를 파악 가능
GetData()를 통해서 포인터를 얻어서 사용할 수도 있음
FString* StrPtr = StrArr.GetData();
// StrPtr[0] == "!"
// StrPtr[1] == "of"
// ...
// StrPtr[5] == "Tomorrow"
// StrPtr[6] - undefined behavior
Find를 통해서 원소를 찾을 수 있음
int32 Index;
if (StrArr.Find(TEXT("Hello"), Index))
{
// Index == 3
}
Contains를 통해서 특정 원소가 들어가있는지도 확인 가능
bool bHello = StrArr.Contains(TEXT("Hello"));
bool bGoodbye = StrArr.Contains(TEXT("Goodbye"));
// bHello == true
// bGoodbye == false
MoveTemp를 통해서 배열 이동이 가능함, 원본 배열은 공백으로 남음
ValArr3 = MoveTemp(ValArr4);
// ValArr3 == [5,2,3,1,2,3]
// ValArr4 == []
Empty 를 통해서 모든 데이터를 제거함
ValArr2.Empty();
// ValArr2 == []
'코드 리뷰' 카테고리의 다른 글
[UE_5] TSet (0) | 2024.05.31 |
---|---|
A* Algorithm -2 (0) | 2024.03.28 |
A* Algorithm -1 (0) | 2024.03.25 |