hash_set::hash_set
注意事項 |
---|
這個 API 已經過時。替代方案是 unordered_set 類別。 |
建構一個空的 hash_set,或者其他 hash_set 的全部或部分複本。
hash_set( );
explicit hash_set(
const Traits& Comp
);
hash_set(
const Traits& Comp,
const Allocator& Al
);
hash_set(
const hash_set<Key, Traits, Allocator>& Right
);
hash_set(
hash_set&& Right
);
hash_set(
initializer_list<Type> IList
);
hash_set(
initializer_list<Type> IList,
const Compare& Comp
);
hash_set(
initializer_list<value_type> IList,
const Compare& Comp,
const Allocator& Al
);
template<class InputIterator>
hash_set(
InputIterator First,
InputIterator Last
);
template<class InputIterator>
hash_set(
InputIterator First,
InputIterator Last,
const Traits& Comp
);
template<class InputIterator>
hash_set(
InputIterator First,
InputIterator Last,
const Traits& Comp,
const Allocator& Al
);
參數
參數 |
說明 |
Al |
這個 hash_set 物件所使用的儲存體配置器類別,預設值為 Allocator。 |
Comp |
用於 hash_set 的排序集合元素的 const Traits 型別的比較函式,其預設值為 hash_compare。 |
Right |
要複製之已建構 hash_set 的 hash_set。 |
First |
在要複製之項目範圍中第一個項目的位置。 |
Last |
超出要複製之項目範圍的第一個項目的位置。 |
備註
所有建構函式所儲存的配置器物件型別處理 hash_set 的記憶體儲存,並可藉由呼叫 hash_set::get_allocator 之後傳回。 配置器參數通常會在類別宣告中被省略,而前置處理巨集器會以替代配置器來做代換。
所有的建構函式都初始化其 hash_sets。
建構函式會儲存一種 Traits 型別的函式物件,以用於在hash_set 索引值中建立順序,並可藉由呼叫 hash_set::key_comp 後傳回此物件。 如需 Traits 的詳細資訊,請參閱主題 hash_set 類別。
第一個建構函式產生一個初始化為空的 hash_set,第二個建構函式指定比較函式的型別 (Comp) ,用於建立元素順序,第三個則明確指定用到的配置器型別 (Al) 。 關鍵字 explicit 禁止某些型別的自動轉換。
第四和第五個建構函式指定 hash_setRight 的複本。
最後第六、第七和第八建構函式為元素使用 initializer_list。
最後一個建構函式複製 hash_set 中的 [First, Last) 範圍,並對於類別 Traits 和配置器的比較函式的型別會有漸增的明確性。
第八個建構函式會移除 hash_set Right。
hash_set 容器的項目實際順序取決於雜湊函式、排序函式和雜湊資料表的目前大小,一般而言無法像集合容器一般可預測,因為集合容器只取決於排序函式。
需求
標頭: <hash_set>
**命名空間:**stdext