Для использования класса в качестве ключа в std::unordered_map необходимо:
== для сравнения экземпляров вашего класса на равенство. unordered_map использует его для проверки на наличие ключа.unordered_map использует ее для вычисления хэша ключа и определения корзины, в которую поместить элемент. Стандартная библиотека предоставляет std::hash для базовых типов. Для пользовательских классов можно либо перегрузить шаблон std::hash, либо предоставить собственную функцию/функитор и передать ее как третий аргумент шаблона unordered_map.Пример:
cpp