将指针转换为用于散列的数值-我应该使用uintptr_t还是inptr_t?

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

我需要将任意指针转换为数值,以使其通过哈希函数。

理想情况下,只是为了踢球,我还希望数字可以转换回相同的指针。但这不是必须的。

[浏览了SO和Interweb之后,我不清楚uintptr_t还是intptr_t是适合该工作的工具。大多数地方提到uintptr_t,但是某些地方说我可能会通过使用无符号类型而丢失原始指针的某些位。

欢迎提供澄清。

c pointers hash
1个回答
0
投票

我需要将任意指针转换为数值,以使其通过哈希函数。

两者都做,intptr_t以及uintptr_t

我也希望数字可以转换回相同的指针。

也可以将整数转换为指针值,并由C-Standard支持。

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