У меня есть база данных патчей изображений, то есть 300 * 300 изображений с каждым патчем размером 60 * 60. Таким образом, я получаю сетку 5 * 5. Я хочу сохранить некоторую информацию против каждого из этих патчей. Поскольку моя база данных может состоять из миллионов изображений, я хотел бы использовать unordered_map, чтобы найти патч стало легко.Как определить собственную хэш-функцию для unordered_map в C++
Информация о моем патче состоит из imgId, x_position патча и y_position патча (все целые числа). У меня нет большого опыта работы с unordered_map. Но, пройдя несколько уроков, я понял, что мне придется использовать собственную хэш-функцию. Может ли кто-нибудь предложить эффективный способ хранения вышеуказанной информации в unordered_map с надлежащей хэш-функцией.
Должен ли ваш хэш быть основан на указателе идентификации, который вы указали, или на базовых данных в базе данных? – Deduplicator
Используйте 'std :: hash' и см. Http://stackoverflow.com/questions/2590677/how-do-i-combine-hash-values-in-c0x –
@Deduplicator Мне нужно найти значения на основе imgId, x и y. Это их комбинация является первичным ключом. – user3747190