set
注:
-
*标记的为c++11新特性,构造函数默认为c++11
-
函数原型省略了一些细节,只展示实际需要填写的情况(分配器已经隐藏了,需要可以去c++reference查看)
-
参数栏表示传入的两个参数的意义而不是类型
-
返回值栏表示类型而不是意义
-
粉红色表示为c++11新特性
构造函数
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
构造函数 | explicit set (const key_compare& comp = key_compare(), const allocator_type& alloc = allocator_type()); | 一个函数指针或函数引用comp用来作比较,一个分配器alloc | default | 创建一个空的set |
构造函数 | explicit set (const allocator_type& alloc); | 容器类型的参数/无(常用) | default | 创建一个空的set |
构造函数 | set (InputIterator first, InputIterator last,const key_compare& comp = key_compare(),const allocator_type& = allocator_type()); | 表示复制开始位置的迭代器first,表示复制器结束位置的迭代器last,一个函数指针或函数引用comp,一个分配器alloc | default | 创建一个set,并把初始化为first到last中间的内容 |
构造函数 | set (const set& x) | 一个容器类型的参数x | default | 创建一个set,并将初始化,内容与x相同 |
构造函数 | set (const set& x, const allocator_type& alloc); | 一个容器类型的参数x,一个构造器alloc | default | 创建一个set,并将初始化,内容与x相同 |
构造函数 | set (set&& x); | 一个容器类型的参数x | default | 创建一个set,并将初始化,内容与x相同(移除x中内容?) |
构造函数 | set (set&& x, const allocator_type& alloc); | 一个容器类型的参数x,一个分配器 | default | 创建一个set,并将初始化,内容与x相同(移除x中内容?) |
构造函数 | set (initializer_list<value_type> il,const key_compare& comp = key_compare(),const allocator_type& alloc = allocator_type()); | 已经初始化的列表il,一个函数指针或函数引用comp用来作比较,一个分配器alloc | default | 创建一个set,并将初始化,内容与il相同 |
析构函数 | ~set(); | N/A | N/A | 回收容器 |
= | set& operator= (const set& x); | 一个set | set引用 | 将新内容分配给容器,替换其当前内容。 |
= | set& operator= (set&& x); | 一个set | set引用 | 将新内容分配给容器,替换其当前内容。 |
= | set& operator= (initializer_list<value_type> il); | 一个已初始化的可迭代列表 | set引用 | 将新内容分配给容器,替换其当前内容。 |
迭代器方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
begin | iterator begin() noexcept; | 无 | 迭代器 | 返回一个迭代器,指向首个元素 |
end | iterator end() noexcept; | 无 | 迭代器 | 返回一个迭代器,指向最后一个元素的下一个元素 |
rbegin | reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个反向迭代器,指向最后一个元素 |
rend | reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个迭代器,指向第一个元素的前一个元素 |
cbegin | const_iterator cbegin() const noexcept; | 无 | 迭代器 | 返回一个常量迭代器,指向首个元素 |
cend | const_iterator end() noexcept; | 无 | 迭代器 | 返回一个常量迭代器,指向最后一个元素的下一个元素 |
crbegin | const_ reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个常量反向迭代器,指向最后一个元素 |
crend | const_ reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个常量迭代器,指向第一个元素的前一个元素 |
容量方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
size | size_type size() noexcept; | 无 | 非负整数 | 返回容器的元素的数量 |
max_size | size_type max_size() noexcept; | 无 | 非负整数 | 返回容器所能容纳的最大的元素的数量 |
empty | bool empty() noexcept; | 无 | bool | 返回是否为空 |
编辑方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
insert | pair<iterator,bool> insert (const value_type& val); | 对应的值val | 一个pair | 将val插入到set中 |
insert | pair<iterator,bool> insert (value_type&& val); | 对应的值val | 一个pair | 将val插入到set中 |
insert | pair<iterator,bool> insert (value_type&& val); | 对应的值val | 一个pair | 将val插入到set中 |
insert | iterator insert (const_iterator position, value_type&& val); | 一个代表位置的迭代器position,对应的值val | 一个迭代器 | 将val插入到set中的指定位置 |
insert | void insert (InputIterator first, InputIterator last); | 代表开头的迭代器,代表结尾的迭代器 | 无 | 将first与last中的内容插入到set |
insert | void insert (initializer_list<value_type> il); | 已经初始化的列表il | 无 | 将il中的内容插入set |
erase | iterator erase (const_iterator position); | 一个表示位置的迭代器position | 迭代器 | 将position位置移除 |
erase | size_type erase (const value_type& val); | 一个值val | 非负整数 | 将值val的结点移除 |
erase | iterator erase (const_iterator first, const_iterator last); | 一个代表开始位置的迭代器first,一个表示结束位置的迭代器last | 迭代器 | 将first与last之间的值移除 |
swap | void swap (set& x); | 一个set | 无 | 将x与容器中的值交换 |
clear | void clear() noexcept; | 无 | 无 | 将容器中的内容清除 |
emplace | pair<iterator,bool> emplace (Args&&... args); | n个参数args | 无 | 在容器中(构造性的)插入(n个)新元素 |
emplace_hint | iterator emplace_hint (const_iterator position, Args&&... args); | n个参数args | 无 | 在容器中(构造性的)插入(n个)(带有提示的)新元素 |
观测方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
key_comp | key_compare key_comp() const; | 无 | 比较对象 | 返回容器使用的比较对象的副本 |
value_comp | value_compare value_comp() const; | 无 | 比较对象 | 返回容器使用的比较对象的副本 |
操作方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
find | const_iterator find (const value_type& val) const; | 待查找值val | 迭代器 | 查找val所在的位置 |
find | iterator find (const value_type& val); | 待查找值val | 迭代器 | 查找val所在的位置 |
count | size_type count (const value_type& val) const; | 待查找值val | 非负整数 | 在容器中搜索等价于val的元素,并返回匹配数 |
lower_bound | iterator lower_bound (const value_type& val); | 待查找值val | 迭代器 | 返回小于等于val的第一个元素的迭代器 |
lower_bound | const_iterator lower_bound (const value_type& val) const; | 待查找值val | 迭代器 | 返回小于等于val的第一个元素的迭代器 |
upper_bound | iterator upper_bound (const value_type& val); | 待查找值val | 迭代器 | 返回大于val的第一个元素的迭代器 |
upper_bound | const_iterator upper_bound (const value_type& val); | 待查找值val | 迭代器 | 返回大于val的第一个元素的迭代器 |
equal_range | pair<const_iterator,const_iterator> equal_range (const value_type& val) const; | 待查找值val | pair | 返回一个pair,第一个元素是小于等于val的第一个元素的迭代器,第二个元素是大于val的第一个元素的迭代器 |
equal_range | pair<iterator,iterator> equal_range (const value_type& val); | 待查找值val | pair | 返回一个pair,第一个元素是小于等于val的第一个元素的迭代器,第二个元素是大于val的第一个元素的迭代器 |