C++ set value_comp()2024年8月30日 | 阅读4分钟 C++ set value_comp() 函数返回一个比较对象。此函数用于比较两个元素,以检查第一个元素的键是否排在第二个元素之前。 它接受两个相同类型的参数,如果第一个参数根据更窄的弱序排在第二个参数之前,则返回 true,否则返回 false。 例如:- 对于一个 set m,如果两个元素 e1(k1, d1) 和 e2(k2, d2) 是 value_type 类型的对象,其中 k1 和 k2 是 key_type 类型的键,d1 和 d2 是 setped_type 类型的数据,则 m.value_comp(e1, e2) 等效于 m.key_comp(k1, k2)。 语法注意:存储对象定义了一个成员函数如果左键的值在排序顺序中排在右键值之前且不等于右键值,则返回 true。 参数无 返回值它返回一个值比较函数对象。 复杂度常量。 迭代器有效性无变化。 数据竞争容器被访问。 不访问任何包含的元素:同时访问 set 的元素是安全的。 异常安全如果抛出异常,容器中没有变化。 示例 1让我们看一个比较元素值的简单示例 输出 Compare 2 to 5 (1 is true and 0 is false): 1 Compare 8 to 5 (1 is true and 0 is false): 0 在上面的例子中,comp(2, 5) 返回 true,因为 2 小于 5。而 comp(8, 5) 返回 false,因为 8 不小于 5。 示例 2让我们看一个简单的例子 输出 myset contains: 0 1 2 3 4 在上面的示例中,`highest` 变量存储 `myset` 集合的最后一个元素,并且迭代器用集合的第一个元素(按排序顺序)初始化。`do-while` 循环用于打印集合的元素,其中循环将一直运行,直到第一个键小于最后一个键(为此它使用名为 `mycomp` 的 `key_comp()` 函数)。 示例 3让我们看一个简单的例子 输出 vc1( 2,3 ) returns value of true, where vc1 is the function object of s1. vc2( 2,3 ) returns value of false, where vc2 is the function object of s2. 示例 4让我们看一个简单的例子来展示 key_comp() 和 value_comp() 之间的区别 输出 highest1 is 5 highest2 is 5 在上面的例子中,当我们比较 key_comp() 和 value_comp() 时,对于这样的 set 容器,这两个词是相同的。对于两种类型的函数,它将返回相同的值。 下一主题Set find() 函数 |
C++ set erase() C++ 用于从 set 容器中删除与给定键关联的单个元素或一系列元素 ([first, last))。因此,大小将根据删除的元素数量而减小。语法 void erase (iterator position); ...
阅读 6 分钟
C++ std operator== C++ std operator== 是 C++ 中 set 的非成员重载函数。此函数用于检查两个 set 是否相等。注意:set 对象之间的比较基于元素的成对比较。两个 set 相等...
阅读 4 分钟
C++ 有以下五种用途:默认构造函数:这用于构造一个包含零元素的空 set 容器。范围构造函数:这用于构造一个包含范围 [first, last) 内容的容器。复制构造函数:这用于构造一个 set,其包含...
阅读 4 分钟
C++ set size() C++ set size() 函数用于查找集合容器中存在的元素数量。语法 成员类型 size_type 是一个无符号整型。size_type size() const; // 直到 C++ 11 size_type...
阅读 3 分钟
C++ set count() C++ 用于返回容器中找到的元素数量。由于 set 容器不包含任何重复元素,此函数实际上返回 1,如果 set 容器中存在值为 val 的元素,否则返回 0。...
阅读 4 分钟
C++ set cbegin() C++ 用于返回一个指向 set 容器第一个元素的常量迭代器。语法 const_iterator cbegin() const noexcept; //自 C++ 11 起 const_iterator 是一个指向常量内容的迭代器。参数 无 返回值 它返回一个指向第一个...
阅读 3 分钟
C++ set cend() C++ 用于返回一个常量迭代器,指向 set 中的最后一个条目。注意:- 这是一个占位符。此位置不存在任何元素,尝试访问是未定义行为。语法 const_iterator cend() const noexcept; //自 C++...
阅读 3 分钟
C++ set crend() C++ 用于返回一个指向 set 结束(不是最后一个元素,而是最后一个元素之后)的常量迭代器,按反向顺序。这类似于非反向容器的第一个元素之前的元素。注意:- 这是一个...
阅读 3 分钟
C++ set rbegin() C++ 用于返回一个反向迭代器,指向 set 容器的最后一个元素。set 的反向迭代器向后移动并递增,直到到达 set 容器的开头(第一个元素)。语法 ...
阅读 4 分钟
C++ std operator!= C++ std operator!= 是 set 的非成员重载函数。此函数用于检查两个集合是否相等。注意:集合对象之间的比较基于元素的成对比较。如果两个集合...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India