c++ - 在 C++ 中获取集合的并集、交集或差集

标签 c++ map set intersection unions

我有几个关于如何使用 C++ 集合 (std::set) 的问题

  1. 有没有办法获得两个 C++ 集合的并集、交集或差集? (编写我自己的函数来执行此操作非常容易,但我想知道是否有针对它的内置函数)

  2. C++ 集合可以用作映射中的键吗?

最佳答案

使用 set_difference() , set_union() , set_intersection() set_symmetric_difference() 功能。

集合和映射支持任何可以比较的键类型。默认情况下,这意味着该类型具有 operator<()已定义,但您可以提供自己的比较器。 C++ 集没有 operator<()已定义,因此不能用作键,除非您提供自己的比较器。

关于c++ - 在 C++ 中获取集合的并集、交集或差集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1736017/

相关文章:

c++ - 在C++中使用全局变量初始化

c++ - char 和 char*(指针)

search - VIM:如何将搜索/替换命令添加到 vimrc 并映射到快捷方式

c++ - 通过引用获取 std::map 中的对象是否安全?

java - HashSet contains() 方法

flutter - 集添加重复的项目

c++ - 为什么一元减去进行整数提升?

c++ - 编译器对模板的无效实例化给出错误

haskell - 作为 Data.Map 值的异构类型

Redis 集中的正则表达式