Мне надо хранить в классе соответствия между строками и числами. Порядок не важен, поэтому хочу использовать std::unordered_map
, причём строки должны хэшироваться и сравниваться с помощью текущей локали через std::collate::compare()
и std::collate::hash()
.
Как лучше объявить эту структуру в классе, чтобы пользователь не видел реализацию? Проблемы в том, что 1) надо хранить экземпляр std::collate в классе или определять логически непринадлежащие классу функции; 2) надо знать bucket_count для определения структуры, т.к. этот параметр идет до функций хэша и сравнения.
Следуем описанию с cppreference , используем шаблонные параметры класса :
std::unordered_map<std::string, int, std::collate::hash, std::collate::compare> my_map;
Проблем никаких нет, класс my_map хранит соответствие строки <---> числа, используя требуемую функцию хеширования и требуемую функцию сравнения.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Файл helloexe, при запуске требует dll'ки, могу закинуть их в папку, но можно ли сделать hello
Есть класс в котором перегружаются операцииВ main происходит тестирование перегрузок, т