简介
sets是 c stl的一部分(标准模板库)。set合是存储排序键的关联容器,其中每个键都是唯一的,可以插入或删除但不能更改。
语法
template < class t, // set::key_type/value_type
class compare = less, // set::key_compare/value_compare
class alloc = allocator // set::allocator_type
> class set;
参数
t : 存储在容器set中的元素类型。 compare : 一个比较类,它接受两个具有相同bool类型的参数并返回一个值。该参数是可选的,并且二进制谓词less 是默认值。 alloc : 用于定义存储分配模型的分配器对象的类型。
成员函数
以下是set合的所有成员函数的列表:
| 功能 |
说明 |
| (构造函数) |
构造set |
| (析构函数) |
析构函数 |
| operator= |
将set合的元素复制到另一个set合。 |
迭代器
| 功能 |
说明 |
| begin |
返回指向set合中第一个元素的迭代器。 |
| cbegin |
返回指向set合中第一个元素的const迭代器。 |
| end |
返回指向末尾的迭代器。 |
| cend |
返回一个指向末尾的常量迭代器。 |
| rbegin |
返回指向结尾的反向迭代器。 |
| rend |
返回指向起点的反向迭代器。 |
| crbegin |
返回一个指向末尾的常量反向迭代器。 |
| crend |
返回指向起点的常量反向迭代器。 |
容量
| 功能 |
说明 |
| empty |
如果set为空,则返回true。 |
| size |
返回set合中的元素数量。 |
| max_size |
返回set合的最大大小。 |
修饰符
| 功能 |
说明 |
| insert |
将元素插入set合中。 |
| erase |
从set合中擦除元素。 |
| swap |
交换set合的内容。 |
| clear |
删除set合中的所有元素。 |
| emplace |
构造并将新元素插入到set合中。 |
| emplace_hint |
通过提示构造并将新元素插入到set合中。 |
观察者
| 功能 |
说明 |
| key_comp |
返回键比较对象的副本。 |
| value_comp |
返回值比较对象的副本。 |
操作
| 功能 |
说明 |
| find |
搜索具有给定键的元素。 |
| count |
获取与给定键匹配的元素数。 |
| lower_bound |
将迭代器返回到下限。 |
| upper_bound |
将迭代器返回上限。 |
| equal_range |
返回与给定键匹配的元素的范围。 |
分配器
| 功能 |
说明 |
| get_allocator |
返回用于构造set合的分配器对象。 |
非成员重载函数
| 功能 |
说明 |
| operator== |
检查两组是否相等。 |
| operator!= |
检查两组是否相等。 |
| operator< |
检查第一组是否少于其他组。 |
| operator<= |
检查第一个set合是否小于或等于其他set合。 |
| operator> |
检查第一个set合是否大于其他set合。 |
| operator>= |
检查第一个set合是否大于其他set合。 |
| swap() |
交换两组元素。 |