C++ unordered_set定義及初始化詳解

2020-07-16 10:04:31
unordered_set<T> 容器型別的模板定義在 unordered_set 標頭檔案中。unordered_set<T> 容器提供了和 unordered_map<T> 相似的能力,但 unordered_set<T> 可以用儲存的元素作為它們自己的鍵。T 型別的物件在容器中的位置由它們的雜湊值決定,因而需要定義一個 Hash<T> 函數。

這種容器不能存放重複的元素。元素型別必須可以比較是否相等,因為這可以確定元素什麼時候相等。就像 uordered_map,元素被存放在雜湊表內部的格子中。每個格子儲存哪個元素,是由元素的雜湊值決定的。unordered_set 容器組織方式的概念圖如圖 1 所示:


圖 1 unordered_set 容器組織資料的方式