Допустим, у меня есть две карты:
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() );
Результаты моих экспериментов показывают, что для этого потребуется создать пользовательский инструмент для вставки и, возможно, пользовательский компаратор ключей, но я хочу получить некоторое представление / ярлык, прежде чем сделать это.