如何计算指针的哈希值?

问题描述 投票:0回答:1

我想创建一个哈希表,可以在其中存储以指针为键的值。例如,在C ++中,如果我们将链接列表定义为:

struct Node{
 int val;
 Node* next;
}

我可以使用Nodestd::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

现在,如果我想在没有标准库的情况下执行此操作,如何计算Node指针的哈希值?

c++ pointers hash linked-list
1个回答
3
投票

将它们投射到uintptr_t,然后计算整数的哈希值。

© www.soinside.com 2019 - 2024. All rights reserved.