<hash_set> 函式

標頭 <hash_set> 提供下列函式:

互換

注意

這個 API 已過時。 另一種選擇是 <unordered_set>。 此標頭在 MSVC 建構工具 14.51 版本中被移除。

交換兩個 hash_set 的元素。

void swap(
    hash_set <Key, Traits, Allocator>& left,
    hash_set <Key, Traits, Allocator>& right);

參數

右
提供要交換之元素的hash_set,或要與左邊hash_set項目交換的hash_set。

左
要與hash_set許可權之項目交換的hash_set。

備註

範本 swap 函式是在容器類別上特製化的演算法,hash_set來執行成員函 left.式 swap(right)。 這是編譯器所執行之函式樣板的部分排序執行個體。 若因樣板函式多載而導致樣板與函式呼叫的比對不是唯一,則編譯器就會選取特製化程度最高的樣板函式版本。 在演算法類別中,一般的樣板函式版本

樣板 <類別 T> void swap(T&, T&),

會依指派運作而作業緩慢。 每個容器中的特製化版本運作速度會更快,因為它可以與容器類別的內部表示法一起運作。

範例

如需使用 之範本版本的範例,請參閱成員函式 swap 的程式碼範例。

swap (hash_multiset)

注意

這個 API 已過時。 替代方案是 unordered_set 類別。

交換兩個 hash_multiset 的元素。

void swap(hash_multiset <Key, Traits, Allocator>& left, hash_multiset <Key, Traits, Allocator>& right);

參數

right
hash_multiset提供可交換元素,或hash_multiset hash_multiset left與該元素交換的元素。

left
hash_multiset與hash_multiset right元素交換的元素。

備註

範本 swap 函式是在容器類別上特製化的演算法,hash_multiset來執行成員函 left.式 swap(right)。 此函式展示了編譯器如何使用函式範本的部分排序。 當範本函式被超載,導致範本與函式呼叫的匹配不唯一時,編譯器會選擇範本函式中最專門化的版本。 演算法類別中模板函數 template <class T> void swap(T&, T&) 的一般版本採用賦值方式,且操作較慢。 每個容器中的專用版本速度快得多,因為它能使用容器類別的內部表示。

範例

若有使用模板版本 swap的範例,請參見成員類別 hash_multiset::swap的程式碼範例。

另請參閱

<hash_set>