【发布时间】:2010-03-23 22:46:03
【问题描述】:
假设我有两张地图:
typedef int Id;
std::map<Id, std::string> idToStringMap;
std::map<Id, double> idToDoubleMap;
假设我想对两张地图的键进行集合操作。 有比创建自定义“插入器”迭代器更简单的方法吗?这样我就可以执行以下操作:
std::set<Id> resultSet;
set_difference( idToStringMap.begin(), idToStringMap.end(),
idToDoubleMap.begin(), idToDoubleMap.end(), resultSet.begin() );
我的实验结果表明,有必要创建一个自定义插入器,也许还有一个自定义键比较器来执行此操作,但在此之前我想要一些见解/捷径。
【问题讨论】: