C++ std swap()30 Aug 2024 | 3 分钟阅读 C++ std swap(set) 是 C++ 中 set 的非成员函数。它用于交换(或互换)两个 set(即 x 和 y)的内容,但这两个 set 必须是相同类型的,尽管大小可能不同。 语法参数x:第一个 set 对象。 y:相同类型的第二个 set 对象。 返回值无 复杂度常量。 迭代器有效性引用两个容器中元素的迭代器、引用和指针仍然有效。 请注意,末尾迭代器不引用元素,可能会失效。 数据竞争容器 x 和 y 都被修改。 调用不访问任何包含的元素。 异常安全此函数不抛出异常。 示例 1让我们看一个简单的例子来交换一个 set 中的元素到另一个 set 输出 Set contains following elements a b c d 在上面的例子中,set m1 有五个元素,m2 是空的。当你将 m1 交换到 m2 时,m1 的所有元素都会交换到 m2。 示例 2让我们看一个简单的例子来交换两个 set 的内容 输出 set1 contains: 110 220 330 set2 contains: 100 200 在上面的例子中,两个 set(即 set1 和 set2)的内容相互交换。 示例 3让我们看一个简单的例子来交换两个 set 的内容 输出 first contains: 20 25 32 second contains: 10 12 75 示例 4让我们看一个简单的例子 输出 Exchange m1 and m2. Contents of m2: 100 200 300 Contents of m1: m1 is now empty. 在上面的例子中,set m1 的内容交换到 set m2,交换后 m1 set 已被清空。 下一主题C++ Set |
C++ set 运算符= set 中运算符= 有以下三种用法:运算符= 用于通过替换其旧内容(或复制内容)来为 set 容器分配新内容,并在必要时修改大小。运算符= 用于将一个 set 容器的内容移动到...
阅读 4 分钟
C++ set equal_range() C++ 用于返回包含容器中所有等于 val 的元素的范围边界。由于 set 容器中没有重复值,此范围最多包含一个元素。如果 val 不存在...
5 分钟阅读
C++ set max_size() C++ max_size() 函数用于获取 set 容器可以容纳的最大大小。语法 成员类型 size_type 是一个无符号整型。size_type max_size() const; // 直到 C++ 11 size_type...
阅读 3 分钟
C++ set crend() C++ 用于返回一个指向 set 结束(不是最后一个元素,而是最后一个元素之后)的常量迭代器,按反向顺序。这类似于非反向容器的第一个元素之前的元素。注意:- 这是一个...
阅读 3 分钟
C++ set swap() C++ swap() 函数用于交换(或互换)两个集合的内容,但两个集合必须是相同类型,尽管大小可能不同。语法 void swap (set& x); 参数 x: 要交换内容的集合容器。返回值 无 复杂度 常量。迭代器有效性 所有引用、迭代器和指向...
阅读 4 分钟
C++ set crbegin() C++ 用于返回指向集合容器中最后一个元素的常量反向迭代器。集合的常量反向迭代器以反向方向移动,并递增直到到达集合容器的开头(第一个元素)并且...
阅读 3 分钟
C++ set emplace() C++ 用于通过将新元素插入容器来扩展 set 容器。元素直接构建(不复制也不移动)。通过将传递给此函数的参数 args 传递给元素构造函数来调用。仅当...
5 分钟阅读
C++ set lower_bound() C++ 用于返回一个迭代器,指向 set 容器中与参数中传递的 val 等效的键。如果 set 容器中不存在 val,它将返回一个迭代器,指向紧邻的元素...
5 分钟阅读
C++ set value_comp() C++ 返回一个比较对象。此函数用于比较两个元素,以检查第一个元素的键是否在第二个元素之前。它接受两个相同类型的参数,如果第一个参数在第二个参数之前,则返回 true...
阅读 4 分钟
C++ set get_allocator() C++ 用于返回分配器对象的副本,该对象有助于构造集合容器。语法 allocator_type get_allocator() const; //直到 C++ 11 allocator_type get_allocator() const noexcept; //自 C++ 11 起 参数 无 返回值 返回关联的分配器...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India