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