繁体   English   中英

在C ++中获取集合的并集,交集或差异

[英]Getting Union, Intersection, or Difference of Sets in C++

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

  1. 有没有办法得到两个C ++集的并集,交集或差值? (编写自己的函数很容易做到这一点,但我想知道是否有内置函数)

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

使用set_difference()set_union()set_intersection()set_symmetric_difference()函数。

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

关于你的第一个问题,看看

只要您提供可以比较它们的类或函数,任何东西都可以用作映射中的键。 是一个例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM