Найти алгоритм над набором ключей карты (c ++)

Есть ли способ использовать алгоритм .find (itr, itr, value) над набором ключей карты? Я знаю, что вы можете использовать итератор на карте для передачи значений ключей в набор (а затем использовать это), но я не был уверен, что есть более быстрый способ сделать это.

0

Решение

Вы, вероятно, лучше использовать 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;
});
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]