UE4用C++建立動態陣列
阿新 • • 發佈:2018-12-19
-
建立一個數組
TArray<int32> IntArray;
-
通過同一個元素填充初始化
IntArray.Init(10, 5); 等同於// IntArray == [10, 10, 10, 10, 10]
-
增加新元素
// Add會引入臨時物件,優先使用EmplaceT // Push提供了兩個一樣功能的過載函式可以分別代替Add和Emplace。 所以無論何時使用Push比Add和Emplace更加方便了: TArray<FString> StrArr; StrArr.Add(TEXT("Hello")); StrArr.Emplace(TEXT("World")); StrArr.Push("Hello World");
-
追加多個元素
FString Arr[] = { TEXT("of"), TEXT("Tomorrow") }; StrArr.Append(Arr, ARRAY_COUNT(Arr)); // StrArr == ["Hello", "World", "of", "Tomorrow"]
-
只有容器中不存在該元素的時候,才新增
StrArr.AddUnique(TEXT("!")); // StrArr = ["Hello", "World", "of", "Tomorrow", "!"] StrArr.AddUnique(TEXT("!")); // StrArr沒有變
-
插入
StrArr.Insert(TEXT("Brave"), 1); //StrArr == ["Hello","Brave","World","of","Tomorrow","!"]
-
直接設定陣列的元素個數 // 如果大於當前值,那麼使用元素型別的預設建構函式建立新元素 // 如果小於當前值,相當於刪除元素
StrArr.SetNum(8); // StrArr ==["Hello","Brave","World","of","Tomorrow","!","",""] StrArr.SetNum(6); // StrArr ==["Hello","Brave","World","of","Tomorrow", "!"]