본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 c++ TMap

by MRG 2024. 7. 16.
728x90
반응형

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

 

TMap

TMap, 맵은 크게 키 유형과 값 유형, 두 가지로 정의되며, 맵에 하나의 짝으로 저장됩니다.

docs.unrealengine.com

 

 

▣ TMap은 데이터를 키&값짝으로 (TPair<KeyType, ValueType>) 저장합니다.
TMap을 저장 및 불러올 때는 키만 사용합니다.
맵의 유형은 2가지로 TMap 과 TMultiMap이있습니다.
TMultiMap 은 다수의 동일한 키 저장을 지원합니다.
기존에 존재하는 키&값을 추가할 때 TMap은 기존 것을 대체하고, TMultiMap은 새로 추가합니다.


▣  TMap은 키와 값이 개별로 구분되어 정의됩니다.
TMap에서 엘리먼트(element)는 Key와 Value 한쌍을 의미합니다.

 

 

▣ TMap 에 UPROPERTY 매크로와 편집가능 키워드 (EditAnywhere, EditDefaultsOnly, EditInstanceOnly) 중 하나를 마킹하면, 언리얼 에디터에서 엘리먼트 추가 및 편집 가능합니다.

 

▣ TMap 생성방법 : TMap<Key, Value> MapName;

Map이름은 뒤에 Map을 보통 추가해서 구분합니다. 

 

 

 

 

▣ Add(Key, Value) : TMap 추가하는 함수입니다.
Add(Key) : Key만 입력하게 되면 추가되고 Value가 없이(true false경우 false로) 추가됩니다.
Append(Map) : Map을 삽입 병합하는 함수입니다.
Num() : TMap에 있는 엘리먼트의 개수를 반환하는 함수입니다.
Contains(Key) : Key가 있는지에 대한 값을 반환하는 함수입니다.
IsGetWeaponMap[TEXT("Beteta")] = false : 키가 존재하면 값 업데이트하고, 아니면 새로 추가합니다.
Find(TEXT(Key)) : Key를 검색했을 때 있으면 값의 포인터를 없다면 nullptr을 반환하는 함수입니다.
FindKey(Key) : Key가 존재하면 Key값을 아니면 null 반환하는 함수입니다.
Remove(Key) : 해당 Key를 제거하는 함수입니다.
FindAndRemoveChecked(Key) : 제거한 Key Value를 반환하는 함수입니다.
Empty() : 모든 엘리먼트를 비우는 함수입니다.

 

▣ Key가 FString일 경우 TEXT() 함수를 사용하여 접근해야 합니다. 

 

 

728x90
반응형

댓글