设置的STL容器选件类对数据执行存储和检索从包含元素的值是唯一的集合以及作为使用数据自动命令的键值。不能直接更改一个元素的中的值设置为。相反,您必须删除旧值和插入元素与新值。
template <
class Key,
class Traits=less<Key>,
class Allocator=allocator<Key>
>
class set
参数
Key
在要存储的元素数据类型设置。Traits
提供函数对象可以比较两个元素值的类型决定它们在设置的相对顺序的排序关键字。此参数是可选的,并且,二进制谓词 less*<Key>* 是默认值。Allocator
表示存储的分配器对象封装有关内存的set的分配和解除分配的详细信息的类型。此参数是可选的,并且,默认值为 allocator*<Key>。*
备注
设置的STL是:
一个关联容器,可变大小容器支持元素值有效的检索基于一个关联的键值。此外,因为其元素值与其键值,它是一个简单的关联容器。
双面布料,因为它提供了双向迭代器访问其元素。
排序,因为其元素由容器中的键值对具有指定的比较函数匹配。
唯一来讲,其元素中的每一个都必须具有一个唯一键。因为设置也是一个简单的关联容器,其元素也是唯一的。
设置也称为它提供的模板特定类型的数据的选件类,因为函数是泛型和独立作为元素包含的。要使用的数据类型,相反,指定为参数。选件类模板与比较函数和分配器。
容器类型选择应根据应用程序所需的搜索和插入的类型通常。关联容器对于查找、插入和删除操作进行了优化。显式支持这些操作的成员函数是有效的,执行它们在平均比例与元素数对数在容器的时间。插入元素不会使迭代器,并且,移除元素无效专门点在移除的元素的那些迭代器。
在关联值的条件与其主要由应用程序时,满足集应为关联容器选择。设置元素的是唯一的,并用作其排序关键字。这种结构的模型是单词只能一次发生的有序列表)。如果运行的多个匹配项,则允许多个集是相应容器结构。如果值需要附加到单个关键字的列表,则映射是包含该数据的适当结构。如果该项不是唯一的,则基于是容器选择。
设置的顺序将通过调用类型 key_compare一个单元的函数对象控件的顺序。此存储的对象是可以通过调用成员函数获取 key_comp的比较函数。通常,元素需要仅程度低于可比较的建立此序列,以便将任何两个元素,可以确定为它们是等效的(来讲都比其他不小于)或一个比其他小于。这将导致排序在非等价的元素之间。在技术声明,比较函数是生成强弱顺序在标准数学有意义的二进制性质。双重性质 f(*x,y)*是具有两个参数对象 x 和 y 和 true 或 false的返回值的函数对象。对施加的排序设置为强弱顺序二进制谓词是否irreflexive,反对称和管的,并且等效性是否是可传递的,其中两个对象 x 和 y 定义等效,当两 f时(*x、y)*和 f(*y,其中x)*是错误的。如果相等性的更强的情况在项之间的替换该等效性,则排序成为总(来讲所有元素排序有关彼此),并匹配的键彼此将难以辨别的。
设置的选件类提供的迭代器是一双向迭代器,但是,选件类成员函数 插入 和 设置 具有接受作为模板参数较弱的输入迭代器,功能要求比双向迭代器选件类确保的一些最小的版本。不同的迭代器概念窗体在功能的优化相关的系列。每个迭代器概念有自己的一组要求,并且,在中使用它们需要限制其假设到要求的算法由该类型迭代器提供的。可以采用,输入迭代器可以被取消引用引用某些对象,它可以添加到序列中的下一个迭代。这是最小的功能,但是,它是的足够可以有意义地访问有关迭代器[_First,_Last)的大小选件类的成员函数中。
构造函数
构造为空或属于某其他全部或部分的副本设置的设置的。 |
Typedef
表示设置对象的 allocator 选件类的类型。 |
|
提供了双向迭代器可以读取中的一个 const 元素的类型。 |
|
提供了指向在其中一个 const 元素的类型。 |
|
提供对 const 元素的类型在用于读取和执行 const 操作设置的存储状态。 |
|
提供了双向迭代器可以读取中的所有 const 元素的类型。 |
|
可用于表示元素数在元素之间的范围设置的一个带符号的整数类型指向由迭代器。 |
|
提供了双向迭代器可以读取或修改在集合的所有元素的类型。 |
|
提供函数对象可以比较两个类型排序关键字确定两个元素相对顺序在集。 |
|
类型描述作为其存储为元素中的设置对象排序关键字。 |
|
提供指针对设置的元素的类型。 |
|
提供对元素的类型中的存储状态。 |
|
提供了双向迭代器可以读取或修改在反转的元素设置的类型。 |
|
可以表示元素数。设置的无符号整数类型。 |
|
提供函数对象可以比较两个元素决定它们在设置的相对顺序的类型。 |
|
类型描述作为其存储为元素中的设置对象值。 |
成员函数
返回解决在设置的第一个元素的迭代器。 |
|
返回解决在设置的第一个元素的常量迭代器。 |
|
返回解决成功最后一个元素的位置中设置的常量迭代器。 |
|
清除集合的所有元素。 |
|
返回元素数。键与参数指定的键设置的。 |
|
返回解决常数的迭代器是相反的第一个元素设置。 |
|
返回解决成功最后一个元素所在的位置反转设置的常量迭代器。 |
|
插入构造的元素就地以设定的中。 |
|
插入构造的元素就地到一组中,具有位置提示。 |
|
如果集合为空,测试。 |
|
返回解决成功最后一个元素的位置中设置的迭代器。 |
|
返回迭代器对分别到中的第一个元素设置使用比指定的键大的密钥以及在的第一个元素设置为等于或大于键的键。 |
|
从指定的位置移除元素或元素的大小设置或移除与指定的键的元素。 |
|
返回解决的迭代器一个元素的位置在具有键等效于指定的键设置的。 |
|
返回在的 allocator 对象的复制构造集。 |
|
插入元素或元素的大小以设定的中。 |
|
检索中的顺序对密钥进行比较对象的副本设置。 |
|
返回迭代器到中的第一个元素设置为等于或大于指定的键的键。 |
|
返回设置的最大长度的数组。 |
|
返回解析的迭代器是相反的第一个元素设置。 |
|
返回解决成功最后一个元素所在的位置反转设置的迭代器。 |
|
返回集合中元素的数目。 |
|
交换元素的两组。 |
|
返回迭代器到中的第一个元素设置使用比指定的键大的密钥。 |
|
检索在使用于顺序元素值比较对象的副本设置。 |
运算符
用另一个set的副本替换设置的元素。 |
要求
Header: <set>
命名空间: std