Есть ли способ использовать алгоритм .find (itr, itr, value) над набором ключей карты? Я знаю, что вы можете использовать итератор на карте для передачи значений ключей в набор (а затем использовать это), но я не был уверен, что есть более быстрый способ сделать это.
Вы, вероятно, лучше использовать std::map<K, V>
«s find()
член, потому что это использует в своих интересах map
внутренняя структура Если вы действительно хотите найти сонетинг, например, потому что вы ищете только атрибут в ключе, вам нужно будет использовать std::find_if()
:
auto it = std::find_if(m.begin(), m.end(),
[=](decltype(*m.begin()) const& e){
return e.first == v;
});
Других решений пока нет …