Как рассчитать значение ha sh для указателей? - PullRequest
1 голос
/ 06 марта 2020

Я хочу создать таблицу ha sh, в которой я могу хранить значения с указателями в качестве ключа. Например, в C ++, если мы определим связанный список как:

struct Node{
 int val;
 Node* next;
}

, я могу создать таблицу ha sh с указателями Node, используя std::unordered_map или std::map, например:

unordered_map<Node*,int> um;
Node* a = (Node*)malloc(sizeof(Node));
um[a]=12;
cout<<um[a]<<endl //This prints 12

Теперь, если я хочу сделать это без стандартной библиотеки, как я могу рассчитать значение ha sh для Node указателей?

1 Ответ

5 голосов
/ 06 марта 2020

Приведите их к uintptr_t и затем рассчитайте значения га sh для целых чисел.

...