Middle
30
0
questionbank

Что нужно сделать, чтобы хранить свою структуру в unordered_map?

Answer from sobes.tech neural network

Чтобы хранить структуру в std::unordered_map в качестве ключа, необходимо предоставить:

  1. Функцию хеширования (hash function): Находит хеш-значение для экземпляра структуры.
  2. Оператор сравнения на равенство (operator==): Сравнивает два экземпляра структуры на равенство.

Существует несколько способов предоставить эти элементы:

  • Перегрузить operator== внутри структуры и специализировать std::hash для вашей структуры. Это наиболее распространенный и рекомендуемый подход.

    cpp

Чтобы хранить структуру в std::unordered_map в качестве ключа, необходимо предоставить:

  1. Функцию хеширования (hash function): Находит хеш-значение для экземпляра структуры.
  2. Оператор сравнения на равенство (operator==): Сравнивает два экземпляра структуры на равенство.

Существует несколько способов предоставить эти элементы:

  • Перегрузить operator== внутри структуры и специализировать std::hash для вашей структуры. Это наиболее распространенный и рекомендуемый подход.

    cpp

Register or sign in to get access to full answers for all questions from the question bank.

unordered_mapcustom-data-structureshashingequality-comparisonc++standard-library