共用方式為


set Class

STL 容器類別設定為這個資料儲存和擷取從內含項目的值是唯一的集合和做為資料自動指令的索引鍵值。 項目的值在設定的不能直接變更。 相反地,您必須刪除舊值和新插入具有值的項目。

template <
    class Key, 
    class Traits=less<Key>, 
    class Allocator=allocator<Key> 
>
class set

參數

  • Key
    在集合中儲存項目的資料型別。

  • Traits
    提供一個函式物件可以比較兩個值在排序鍵決定它們在這個集合的相對順序的型別。 這個引數是選擇性的,因此,這個二進位述詞 less*<Key>* 是預設值。

  • Allocator
    表示中儲存的配置器物件會封裝關於記憶體中集合的配置和解除配置之詳細資料的型別。 這個引數是選擇性的,因此,預設值為 allocator*<Key>。*

備註

設定的 STL 是:

  • 一個組合容器,可變大小的容器支援項目值進行有效率的索引擷取以關聯的索引鍵值。 此外,,因為其項目值是它的索引鍵值,它是簡單的結合容器。

  • 雙向布料,,因為它提供了雙向 Iterator 存取其項目。

  • 排序,,因為該項目是由容器內的索引鍵值排序和指定的比較函式符合。

  • 唯一,因為它的每個項目都必須具有唯一的索引鍵。 因為 也是簡單的結合容器,其元素也都是唯一的。

集合也描述為所提供的範本資料的特定型別的類別,因為功能是泛型的獨立做為項目所包含的。 要使用的資料型別,而是,指定,在類別樣板與比較函式和配置器。

容器型別選取應該根據應用程式所需的搜尋和插入的型別一般。 組合容器提供搜尋、插入和移除作業進行最佳化。 成員函式明確支援這些作業很有效率,執行它們在時間平均相較於項目數目對數在容器中。 插入的項目不會失效, Iterator,並移除項目失效特別指向已移除的項目之型別的 Iterator。

,當與值的條件與其金鑰是由應用程式時,內容這組應該是結合容器選項。 一組裝置的元件是唯一以及當做自己的排序鍵。 這種結構的模型是 Word 可能只發生一次 Word 的排序清單。 如果 Word 的多個項目,則允許多重集是適當的容器結構。 如果需要附加至唯一的關鍵字清單,則對應是包含這些資料的適當的結構。 如果索引鍵不是唯一的,則 multimap 是容器 (Container) 選取。

它會呼叫型別 key_compare所儲存的函式物件控制項的這個集合排序序列。 這個中的物件是可藉由呼叫成員函式存取 key_comp的比較函式。 一般來說,項目只比可比較需要建置這個順序,以便將任何兩個項目,可以判斷或其相等 (因為都比其他不小於) 或是小於另一個。 這會導致排程在非對等的項目之間。 在一個技術提示,比較函式是造成嚴格弱式排程在標準數學意義一類的二進位述詞。 二進位述詞 f(*x, y)*是具有兩個引數物件的 xytruefalse之傳回值的函式物件。 以設定對排程是嚴格弱式排序受二進位述詞是否 irreflexive,然後對稱和可轉移的,且等於是傳遞的,其中兩個物件的 xy 定義相等,則兩個 f 時(*x、y)*和 "(*x, y)*是錯誤的。 如果相等的更強的情況下金鑰的取代成相等,則預設會變成總數 (因為所有項目排序關於彼此),且相符的索引鍵彼此會很難由另一個屬性。

集合類別提供的 Iterator 是雙向 Iterator,不過,類別成員函式 插入設定 採用當做樣板參數較弱式輸入 Iterator,功能需要比雙向 Iterator 可用於確保這些類別的最小版本。 不同的 Iterator 概念形成在其功能修改關聯性的系列。 每個 Iterator 概念有自己的一組需求,,並使用它們需要限制其假設至要求的演算法由該 Iterator 所提供。 可能會假設,輸入 Iterator 可能已取值參考物件的陣列,而且可能會加入至序列中的下一個 Iterator。 這是最小的一組功能,不過,它是足夠可以有意義地交談有關 [_FirstIterator, _Last) 內的該類別的成員函式中。

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

set

建構是空的或為其他設定全部或部分的複本的集合。

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

allocator_type

表示物件的集合 allocator 類別的型別。

const_iterator

提供雙向 Iterator 可讀取集合中的 const 項目的型別。

const_pointer

提供指標在集合中 const 項目的型別。

const_reference

提供在 const 項目的參考型別在讀取及執行 const 作業的一組儲存在中。

const_reverse_iterator

提供雙向 Iterator 可讀取集合中的所有 const 項目的型別。

difference_type

可以用來表示一組裝置的元件數目某個範圍的項目之間的帶正負號的整數 (Unsigned Integer) 型別指向的 Iterator。

Iterator

提供雙向 Iterator 可讀取或修改集合中的所有元素的型別。

key_compare

提供一個函式物件可以比較兩個排序鍵判斷兩個項目的相對順序。在這個集合的型別。

key_type

型別描述做為其儲存為一組裝置的元件物件排序鍵。

pointer

提供指標在設為的項目型別。

參照

提供項目參考的型別是在集合中的。

reverse_iterator

提供雙向 Iterator 可讀取或修改會反轉之項目的型別。

size_type

可以表示集合中的項目數目。不帶正負號的整數 (Unsigned Integer) 型別。

value_compare

提供一個函式物件可以比較兩個項目決定它們在這個集合的相對順序的型別。

value_type

型別描述做為其儲存為一組裝置的元件物件值。

e8wh7665.collapse_all(zh-tw,VS.110).gif成員函式

begin

傳回處理已在這個集合中的第一個項目的 Iterator。

cbegin

傳回處理已在這個集合中的第一個項目的 Iterator 常數。

cend

傳回處理成功最後一個項目的位置中的 const Iterator。

clear

清除任何一組裝置上的元件。

count

傳回的項目數目索引鍵符合參數指定之索引鍵的集合。

crbegin

傳回處理常數的 Iterator 會反轉的第一個項目。

crend

傳回處理成功最後一個項目的位置會反轉的 const Iterator。

插入項目建構就地述詞。

emplace_hint

插入項目建構就地至集合,並將提示。

empty

測試,如果集合是空的。

end

傳回處理成功最後一個項目的位置中的 Iterator。

equal_range

傳回一組 Iterator 分別加入至集合的第一個項目將與指定的索引鍵大於的金鑰和加入至集合的第一個項目具有等於或大於金鑰。

清除

從移除指定位置處的元素或某個範圍中的或移除符合指定之索引鍵的項目。

find

傳回處理一個項目的 Iterator 的位置是索引鍵等於指定之索引鍵的集合。

get_allocator

傳回用來 allocator 物件的複本建構這個集合。

插入

插入元素或某個範圍的述詞。

key_comp

擷取集合中用來命令索引鍵比較物件的複本。

lower_bound

傳回 Iterator 加入至集合的第一個項目具有等於或大於指定的索引鍵。

max_size

傳回這個集合的最大長度。

rbegin

傳回所定址的 Iterator 會反轉的第一個項目。

rend

傳回處理成功最後一個項目的位置會反轉的 Iterator。

size

傳回集合中項目的數目。

交換

交換兩個集合的項目。

upper_bound

傳回 Iterator 加入至集合的第一個項目將與指定的索引鍵大於的金鑰。

value_comp

擷取集合中使用的 Command 項目值比較物件的複本。

e8wh7665.collapse_all(zh-tw,VS.110).gif運算子

operator=

用另一個集合的複本取代一組裝置上的元件。

需求

Header: <set>

命名空間: std

請參閱

參考

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

標準樣板程式庫