共用方式為


multiset Class

多重集的類別會用於儲存和擷取資料集合,其中包含的項目值不一定要是唯一和它們做為根據的資料會自動排序的索引鍵值從標準樣板程式庫。 索引鍵值的多重集內的項目可能不會直接變更。 相反地,必須先刪除舊的值,並使用新值的項目插入。

template <
   class Key, 
   class Compare=less<Key>, 
   class Allocator=allocator<Key> 
>
class multiset

參數

  • 機碼
    若要儲存在多重集項目資料型別。

  • Compare
    提供函式物件的型別可以比較兩個項目值做為排序索引鍵,以決定使用多重集及其相對順序。 二元述詞較少<Key> 做為預設值。

  • Allocator
    表示預存的配置器物件來封裝多重集的配置及解除配置記憶體的詳細資料的型別。 預設值是配置器*<Key>。*

備註

不管是多重集的類別:

  • 關聯容器,也就是支援有效率的擷取的項目值相關聯的機碼值為基礎的變動大小容器。

  • 還原,因為它提供雙向 iterator,以存取其項目。

  • 排序,因為它的項目以機碼以配合指定的比較函式在容器內的值排序。

  • 因為它的項目不需要有唯一的索引鍵,使一個機碼值可以有與其相關聯的許多項目值的倍數。

  • 簡單的關聯容器因為它的項目值是其索引鍵值。

  • 樣板類別,因為它所提供的功能是泛型的所以不受影響的特定的型別做為項目所含的資料。 要使用的資料型別,而被指定為連同比較函式和配置器類別樣板中的參數。

多重集的類別所提供的 iterator 是雙向的 iterator,但類別成員函式插入多重集中都有採用做為範本的參數較弱的輸入的 iterator,很多小比保證雙向 iterator 的類別,其功能需求的版本。 不同的 iterator 概念都是一系列與相關聯的限制其功能。 每一個 iterator 概念有自己的需求組合並使用它的演算法必須限制其假設 iterator 該型別所提供的需求。 我們可能會假設可能會被輸入的 iterator 解除參考,某些物件參考,就可能會在序列中下一個 iterator 遞增。 這是最基本的功能,但這就足夠啦,才能夠有意義地討論了各種 iterator [_First, _Last) 的部分類別的成員函式。

容器類型的選擇應該根據一般的搜尋類型,並插入所需的應用程式。 關聯的容器適用於查詢、 插入和移除的作業。 成員函式明確地支援這些作業是有效的它們執行的項目容器中的數字的對數成比例的平均時間。 插入項目失效沒有 iterator,而會移除項目導致只有已移除的項目已特別所指出的 iterator。

多重集應該是應用程式滿足情況關聯其索引鍵的值時所選擇的關聯的容器。 多重集的項目可能是多個,而且作為自己的排序鍵,所以不是唯一的索引鍵。 這種類型模型是結構的說,文字的文字可能會發生一次以上的排序的清單。 已多次出現的文字不被允許,接著一組本來應該是適當的容器結構。 如果唯一定義的唯一索引鍵清單有如直接做為值,則對應會是字詞的適當的結構,以包含此資料。 如果改定義不唯一,則 multimap 會是所選擇的容器。

多重集排序的順序,它會藉由呼叫預存函式物件型別的控制Compare。 這個預存的物件是某種比較函式可能藉由呼叫成員函式來存取 key_comp。 一般情況下,項目一定只是個相當於建立這個順序: 這麼一來,由於任何兩個項目,就可能會判斷它們的相等 (以兩者都不是小於另有意義),或是其中一個是否小於另。 這會導致 nonequivalent 項目之間的順序。 其他技術的附註中,在比較函式會為二元述詞,以誘發弱嚴格式順序像標準。 二元述詞 f(xy) 是具有兩個引數物件的函式物件 xy ,傳回值是 ,則為 true,則為 false。 訂購加諸於一組已排序如果二元述詞是非自反、 對稱性,和可轉移的如果是可轉移的對等關係,其中兩個物件的嚴格安全性不足 x 和 y 皆定義成相等的時機兩者 f(x,y) 和 f(y、 x) 都為 false。 如果磁碟區的等號比較索引鍵之間更強的狀況來取代的對等關係,然後排序就會變成總計 (以彼此相對於排列所有項目,因為),並比對的索引鍵會是 indiscernible 彼此。

w5txk7zc.collapse_all(zh-tw,VS.110).gif建構函式

多重集

建構multiset也就是空的或是也就是所有的複本或部份指定multiset

w5txk7zc.collapse_all(zh-tw,VS.110).gifTypedef

allocator_type

為 typedef allocator類別的multiset物件。

const_iterator

為可讀取的雙向 iterator typedef const中的項目multiset

const_pointer

Typedef 變數的指標,如const中的項目multiset

const_reference

參考的 typedef const項目儲存在multiset的讀取和執行const作業。

const_reverse_iterator

對於可以閱讀任何雙向 iterator typedef const中的項目multiset

difference_type

帶正負號的整數的最大數目的項目 typedef multiset iterator 所指向的項目之間的範圍內。

Iterator

雙向 iterator,可讀取或修改中的任何項目為 typedef multiset

key_compare

可以比較兩個機碼,以判斷兩個項目中的相對順序的函式物件的 typedef multiset

key_type

可以比較兩個排序鍵,以判斷兩個項目中的相對順序的函式物件的 typedef multiset

pointer

Typedef 變數的指標中的項目,如multiset

參考

參考至項目儲存在 typedef multiset

reverse_iterator

對於雙向 iterator,可讀取或修改項目反轉的 typedef multiset

size_type

不帶正負號的整數型別可以代表中的元素數目的multiset

value_compare

可以比較兩個項目做為排序索引鍵,以判斷它們的相對順序中的函式物件的 typedef multiset

value_type

描述物件儲存為項目做為 typedef multiset在容量多大的值。

w5txk7zc.collapse_all(zh-tw,VS.110).gif方法

begin

Iterator 所指向的點中的第一個項目,它會傳回multiset

clear

會清除所有項目multiset

count

傳回數字中的項目multiset其中索引鍵符合做為參數所指定的機碼。

empty

如果測試multiset是空的。

end

Iterator 指向的位置中的最後一個項目之後,它會傳回multiset

equal_range

傳回一組的 iterator。 第一組點中的第一個項目中的 iterator multiset與參數大於指定的索引鍵的索引鍵。 第二個 iterator 組點中的第一個項目在multiset具有等於或大於索引鍵的索引鍵。

清除

移除項目或一系列中的項目multiset從指定的位置或移除符合指定的索引鍵的項目。

find

Iterator 指向第一個位置中的元素,它會傳回multiset具有指定索引鍵的索引鍵等於。

get_allocator

傳回一份allocator物件,用來建構multiset

插入

插入項目或一系列元素插入multiset

key_comp

提供函式物件,可以比較兩個排序鍵,以判斷兩個項目中的相對順序multiset

lower_bound

中的第一個項目會回到 iterator multiset具有等於或大於指定的索引鍵的索引鍵。

max_size

傳回的最大長度multiset

rbegin

Iterator 指向已還原的第一個元件,它會傳回multiset

rend

Iterator 指向後續已還原的最後一個元素的位置,它會傳回multiset

size

傳回數字中的項目multiset

交換

交換兩個項目multisets。

upper_bound

中的第一個項目會回到 iterator multiset與參數大於指定的索引鍵的索引鍵。

value_comp

擷取一份訂單項目中的值是用於比較物件multiset

需求

標頭: <set>

Namespace: 標準

請參閱

參考

在標準 C++ 程式庫中的執行緒安全

標準樣板程式庫

其他資源

多重集的成員

<set> 成員