Прозрачный поиск в std::map в C++
Прозрачный компаратор позволяет искать по типу, отличному от ключа словаря.
Если третьим параметром std::map указать
std::less<>, метод find принимает
std::string_view и строковый литерал
без сборки временного std::string.
Подключите #include <map> и
#include <functional>.
Запишем словарь с таким компаратором и найдем элемент по литералу:
#include <map>
#include <functional>
std::map<std::string, int, std::less<>> ids = {{"alpha", 1}};
auto it = ids.find("alpha");
std::cout << it->second << "\n";
Создайте словарь строк и целых с
std::less<>, найдите ключ строковым
литералом через метод find и выведите
найденное число.