Мне интересно, есть ли способ пересечь или сделать различия между двумя структурами, определенными как std::set<MyData*> и std::map<MyData*, MyValue> со стандартными алгоритмами (например, std::set_intersect)
Проблема в том, что мне нужно вычислить разницу между набором и набором ключей, но я бы хотел избежать перераспределения его (поскольку это то, что делается много раз в секунду с большими структурами данных). Есть ли способ получить "ключевой вид" std::map? В конце концов, все, что я ищу, - это рассмотреть только клавиши при выполнении заданной операции, поэтому из точки реализации это должно быть возможно, но я ничего не смог найти.