컨테이너 10

[언리얼 C++] 컨테이너 클래스 TSet 사용법(연산자, 슬랙, DefaultKeyFuncs 지정)

TSet 컨테이너 클래스의 기본적인 설명과 간단한 사용법은 [언리얼 C++] 컨테이너 클래스 TSet 사용법(생성 및 삽입, 반복처리) (tistory.com) 글을 참고하시기 바랍니다. 이 글에서는 TSet 컨테이너 클래스의 연산자, 슬랙, DefaultKeyFuncs에 대해 알아보겠습니다. 1. TSet 컨테이너 연산자 TSet NewSet = FruitSet; NewSet.Add(TEXT("Apple")); NewSet.Remove(TEXT("Pear")); // FruitSet = { "Pear", "Kiwi", "Melon", "Mango", "Orange", "Grapefruit" } // NewSet = { "Kiwi", "Melon", "Mango", "Orange", "Grapefruit..

[언리얼 C++] 컨테이너 클래스 TSet 사용법(쿼리, 엘리먼트 제거, 소팅)

TSet 컨테이너 클래스의 기본적인 설명과 간단한 사용법은 [언리얼 C++] 컨테이너 클래스 TSet 사용법(생성 및 삽입, 반복처리) (tistory.com) 글을 참고하시기 바랍니다. 이 글에서는 TSet 컨테이너 클래스의 쿼리, 엘리먼트 제거, 소팅 기능에 대해 알아보겠습니다. 1. TSet 컨테이너 쿼리 기능 int32 Count = FruitSet.Num(); // Count = 8 현재 TSet 컨테이너에 있는 엘리먼트 개수를 알아내려면 Num() 함수를 호출하면 됩니다. bool bHasBanana = FruitSet.Contains(TEXT("Banana")); // bHasBanana = true bool bHasLemon = FruitSet.Contains(TEXT("Lemon")); ..

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

언리얼 엔진에서 TSet 컨테이너는 TMap 컨테이너 및 TMultiMap 컨테이너와 비슷하지만, 중요한 차이점이 있습니다. 독립된 Key로 Value를 연결하기 보다, TSet 컨테이너는 Value 자체를 Key로 사용합니다. 그리고 TSet 컨테이너는 엘리먼트의 추가, 검색 및 제거가 굉장히 빠릅니다. 그래서 TSet 컨테이너는 순서가 중요하지 않은 상황에서 고유 엘리먼트를 저장하고 싶을때, 고속으로 엘리먼트의 추가, 검색, 제거가 요구될때 많이 사용됩니다. TSet 컨테이너를 생성할때 엘리먼트의 타입만이 필요합니다. 하지만 TSet 컨테이너에 여러가지 템플릿 파라미터로 구성하여 작동방식을 변경하거나 다용도로 만들 수 있습니다. DefaultKeyFuncs에서 파생된 구조체는 해시 함수 기능을 제공하..

[언리얼 C++] 컨테이너 클래스 TMap 사용법(연산자, 슬랙, KeyFuncs 지정)

TMap 컨테이너 클래스의 기본적인 설명과 간단한 사용법은 [언리얼 C++] 컨테이너 클래스 TMap 사용법(생성 및 삽입, 반복처리) (tistory.com) 글을 참고하시기 바랍니다. 이 글에서는 TMap 컨테이너 클래스의 연산자, 슬랙, KeyFuncs에 대해 알아보겠습니다. 1. TMap 컨테이너 연산자 TMap NewMap = FruitMap; NewMap[5] = "Apple"; NewMap.Remove(3); // FruitMap = { // { Key: 4, Value: "Kiwi" }, // { Key: 5, Value: "Mango" }, // { Key: 9, Value: "Melon" }, // { Key: 3, Value: "Orange" } // } // NewMap = { //..

[언리얼 C++] 컨테이너 클래스 TMap 사용법(쿼리, 엘리먼트 제거, 소팅)

TMap 컨테이너 클래스의 기본적인 설명과 간단한 사용법은 [언리얼 C++] 컨테이너 클래스 TMap 사용법(생성 및 삽입, 반복처리) (tistory.com) 글을 참고하시기 바랍니다. 이 글에서는 TMap 컨테이너 클래스의 쿼리, 엘리먼트 제거, 소팅 기능에 대해 알아보겠습니다. 1. TMap 컨테이너 쿼리 기능 int32 Count = FruitMap.Num(); // Count = 6 현재 TMap 컨테이너에 있는 엘리먼트 개수를 알아내려면 Num() 함수를 호출하면 됩니다. bool bHas7 = FruitMap.Contains(7); // bHas7 = true bool bHas8 = FruitMap.Contains(8); // bHas8 = false TMap 컨테이너에 특정 Key 존재 여..

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

언리얼 엔진에서 TArray 컨테이너 다음으로 많이 사용되는 컨테이너는 TMap 컨테이너입니다. TMap 컨테이너에 저장되는 엘리먼트는 Key 타입과 Value 타입, 두가지로 정의되며, TMap에 하나의 짝으로 저장됩니다. TMap 컨테이너의 유형은 TMap 및 TMultiMap 두가지 입니다. 이 둘의 차이점은 TMap 컨테이너의 Key는 고유한 반면, TMultiMap 컨테이너는 다수의 동일한 Key 저장을 지원합니다. 즉, 기존에 존재하는 Key로 새로운 Key-Value 짝을 TMap 컨테이너에 추가하면 기존의 것이 대체되고, TMultiMap 컨테이너에 추가하면 새로 저장된다는 뜻입니다. TMap 컨테이너에서 Key-Value 짝은 마치 개별 오브젝트인 것처럼 TMap의 엘리먼트 타입으로 정의..

[언리얼 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 컨테..