C++ set key_comp()2024年8月30日 | 阅读4分钟 C++ set key_comp() 函数用于返回一个比较对象的副本,该对象被 set 容器用于比较键。 比较对象可用于比较容器中两个元素的键值。此比较对象在构造对象时给出,它可以是指向函数的指针或函数对象。在这两种情况下,它都接受两个相同类型的参数,如果第一个参数根据严格弱序在第二个参数之前,则返回 true,否则返回 false。 注意:默认情况下,比较对象是一个 less 对象,其返回结果与运算符 < 相同。语法注意:存储的对象定义成员函数如果 _Left 在排序顺序中先于 _Right 且不等于 _Right,则返回 true。 参数无 返回值它返回一个键比较函数对象。 复杂度常量。 迭代器有效性无变化。 数据竞争容器被访问。 不访问任何包含的元素:同时访问和修改元素是安全的。 异常安全如果抛出异常,容器中没有变化。 示例 1让我们看一个比较键值的简单示例 输出 Compare keys (1 is true and 0 is false): 1 Compare keys (1 is true and 0 is false): 0 在上面的示例中,comp(1, 5) 返回 true,因为 1 小于 5。而 comp(3, 2) 返回 false,因为 3 不小于 2。 示例 2让我们看一个简单的例子 输出 myset contains: 0 1 2 3 4 在上面的示例中,highest 变量存储 myset 集合的最后一个元素,迭代器使用集合的第一个元素(按排序顺序)进行初始化。Do-while 循环用于打印集合的元素,其中循环将一直运行,直到第一个键小于最后一个键(为此它使用名为 mycomp 的 key_comp() 函数)。 示例 3让我们看一个简单的例子 输出 kc1( 2,3 ) returns value of true, where kc1 is the function object of s1. kc2( 2,3 ) returns value of false, where kc2 is the function object of s2. 在上面的示例中,使用了两个集合,即 m1 和 m2。m1 的键比较对象是 less,m2 的键比较对象是 greater。因此,当我们比较 (2, 3) 时,m1 的 kc1 函数对象返回 true,m2 的 kc2 函数对象返回 false。 示例 4让我们看一个简单的例子 输出 use function object kc to find less of (10, 4)... kc(10, 4) == false, which means 10 > 4 在上面的示例中,集合 setobj 的 kc 函数对象比较 (10, 4),如果为 true,则返回 10 < 4,如果为 false,则返回 10 > 4。 下一个主题Set value_comp() 函数 |
C++ set get_allocator() C++ 用于返回分配器对象的副本,该对象有助于构造集合容器。语法 allocator_type get_allocator() const; //直到 C++ 11 allocator_type get_allocator() const noexcept; //自 C++ 11 起 参数 无 返回值 返回关联的分配器...
阅读 4 分钟
C++ set equal_range() C++ 用于返回包含容器中所有等于 val 的元素的范围边界。由于 set 容器中没有重复值,此范围最多包含一个元素。如果 val 不存在...
5 分钟阅读
C++ ~ C++ 用于销毁 set 容器的所有元素并释放 set 容器分配的所有存储内存。语法 ~set(); 参数 无 返回值 无 复杂度 与 set::size (析构函数) 成线性关系。迭代器有效性 所有迭代器、引用和指针都无效。数据竞争 容器 set 及其所有元素都被修改。异常安全 此函数...
阅读1分钟
C++ set crend() C++ 用于返回一个指向 set 结束(不是最后一个元素,而是最后一个元素之后)的常量迭代器,按反向顺序。这类似于非反向容器的第一个元素之前的元素。注意:- 这是一个...
阅读 3 分钟
C++ std operator>= C++ std Operator>= 是 C++ 中 set 的非成员重载函数。此函数用于检查第一个集合是否大于或等于其他集合。注意:Operator >= 顺序比较集合的元素,比较将在第一次不匹配时停止...
5 分钟阅读
C++ STL Set Set 介绍 Set 是 C++ STL(标准模板库)的一部分。Set 是关联容器,用于存储排序的键,其中每个键都是唯一的,可以插入或删除但不能更改。语法 模板 < class T, ...
阅读 2 分钟
C++ set cend() C++ 用于返回一个常量迭代器,指向 set 中的最后一个条目。注意:- 这是一个占位符。此位置不存在任何元素,尝试访问是未定义行为。语法 const_iterator cend() const noexcept; //自 C++...
阅读 3 分钟
C++ std swap() C++ std swap(set) 是 C++ 中 set 的非成员函数。它用于交换(或互换)两个集合(即 x 和 y)的内容,但两个集合必须是相同类型,尽管大小可能不同。语法 template <class T, class Compare,...
阅读 3 分钟
C++ set lower_bound() C++ 用于返回一个迭代器,指向 set 容器中与参数中传递的 val 等效的键。如果 set 容器中不存在 val,它将返回一个迭代器,指向紧邻的元素...
5 分钟阅读
C++ set crbegin() C++ 用于返回指向集合容器中最后一个元素的常量反向迭代器。集合的常量反向迭代器以反向方向移动,并递增直到到达集合容器的开头(第一个元素)并且...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India