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