UE4基礎:容器(一)動態數組TArray(補充FindByPredicate)

UE4自己封裝的這套泛型容器使用起來非常方便,本文僅記錄其中動態數組TArray的基本用法,還有更多的功能後面會陸續補充。

概要

動態數組TArray可以當作數組使用也可以直接充當鏈表、隊列以及棧。在遊戲開發中使用非常廣泛。

聲明

	TArray<int> Ints;//調用默認構造函數

添加

	Ints.Add(1);
	Ints.Add(2);
	Ints.Add(3);
	Ints.Add(4);
	Ints.Add(5);
	Ints.Add(6);
	Ints.Add(7);
	Ints.Add(8);
	Ints.Add(8);
	Ints.Add(9);
	Ints.AddUnique(9);
	Ints.Add(10);
  • Add是簡單添加
  • AddUnique是當容器中不存在該元素再添加

刪除

	Ints.Remove(8);
  • 不可以一邊迭代一邊刪除
  • 如果有重複元素,重複元素都會被刪除

更復雜的刪除

如果想要刪除滿足某一條件的所有元素,可以使用RemoveAll

Ints.RemoveAll([](int V) {
    return V % 2 == 0;
});

修改

	Ints[4] = 100;

查找

	if(Ints.Contains(2))
	{
		UE_LOG(LogTemp,Warning,TEXT("2 found!"));
	}

高級查找

	int* Even = Ints.FindByPredicate([](int V)
	{
		return V % 2 == 0;
	});

	UE_LOG(LogTemp,Warning,TEXT("%d"),*Even);

遍歷

	for (auto I: Ints)
	{
		UE_LOG(LogTemp,Warning,TEXT("%d"),I);
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章