template < class Key, // unordered_set::key_type/value_type
class Hash = hash<Key>, // unordered_set::hasher
class Pred = equal_to<Key>, // unordered_set::key_equal
class Alloc = allocator<Key> // unordered_set::allocator_type
> class unordered_set;
unordered_set
大概是无序集合的意思,存放的元素是唯一的,也就是不会有重复的元素,并且是不按特定顺序存放。
在 unordered_set
中,元素的值同时也是元素的键,键也可以唯一地找到值。键都是不可变的,因此 unordered_set
里的元素是不可以被修改,不过他们可以被插入和删除。
稍微翻译一下:
template < class Key, // 键类型或者值的类型
class Hash = hash<Key>, // 哈希函数,一元函数
class Pred = equal_to<Key>, // 判断相等的函数
class Alloc = allocator<Key> // 分配器类型
> class unordere