ue4集合型別 UE4 集合 TSet容器

2021-10-13 03:35:08 字數 907 閱讀 1065

一、tset是什麼

ue4中,除了tarray動態陣列外,還提供了各種各樣的模板容器。這一節,我們就介紹集合容器——tset。類似於tarray,尖括號裡面的t是模板型別,可以是任何c++型別。乙個集合表示了一組互不重複的資料元素。比如tset表示了一組float集合,tset表示了一組fstring集合。

二、建立和填充集合

因為這些容器在設計的時候考慮到一致性,所以後面你在學習各種各樣的容器,你都會發現它們都具有相同或相似的函式,呼叫方法也是大同小異。類似tarray,tset也有add函式和emplace函式,舉個例子:

tset set;set.add( 1);set.add( 2);set.emplace( 3);set.add( 1 );//這個操作雖然可以編譯執行,但是因為其元素已經存在,所以不會對現有集合發生影響

set.emplace( 2 );//同上

注意,集合的內部資料結構是二叉樹,而不是簡單地按編號排序的,因此不能通過方括號來訪問集合中的元素。

//set[0] = 4;//試圖通過操作符來訪問集合元素,但這樣的操作是非法的

三、迭代集合

因為tset不能通過來訪問容器裡面的元素,所以也不能通過數值來迭代集合。因此我們要通過迭代器來訪問集合:

for( tset::titerator it = set.createiterator(); it; ++it )

2) 並集

tset中的union函式提供了計算出兩個集合的並集操作,下面是其函式宣告:

tset union( const tset & otherset )

示例:tset uni = x.union(y); //uni的內容為

容器的功能可謂非常強大的,上面只是列舉其常用的一二,在官方的文件中有全面的介紹。同時我們也認識到,容器的學習也是非常簡單的,只要多加練習和查詢文件便可。

UE4中的集合 TSet容器

ue4中,除了tarray動態陣列外,還提供了各種各樣的模板容器。這一節,我們就介紹集合容器 tset。類似於tarray,尖括號裡面的t是模板型別,可以是任何c 型別。乙個集合表示了一組互不重複的資料元素。比如tset表示了一組float集合,tset表示了一組fstring集合。因為這些容器在設...

4 集合與有序集合

特性 無序 隨機操作 唯一性,確定性 zrevrange key start stop 將集合降序排列,取在start,stop 之間的元素 zrangebyscore key min max withscore limit offset n 將score在 min,max 之間的元素跳過offse...

scala基礎4 集合

map set list 集合 可變集合可以在適當的地方被更新或擴充套件,意味著你可以修改 新增 移除乙個集合的元素。而不可變集合類,相比之下,永遠不會改變。不過,你仍然可以模擬新增,移除或更新操作。但是這些操作都將返回乙個新的集合,同時原來的集合不發生改變。不可變的都在immutable裡,可變的...