gpt4 book ai didi

c++ - 在 C++ 中将指针表示为字符串的最佳可移植方式是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:39 25 4
gpt4 key购买 nike

我需要将指针表示为用户的字符串。有时这些值可能会保存到一个文件并传输到具有不同体系结构的计算机(32 位与 64 位是当前的主要问题)并从文本文件加载以进行比较 - 我只会比较加载的值 彼此,但我仍然更喜欢比较数字而不是字符串。

我目前正在使用:

SomeClass* p;
...
printf("%ld", (uintptr_t)p);

但我想知道这是否是可移植的(虽然 Windows 和 Linux 仅在现阶段很重要),以及一旦出现 128 位系统这是否会中断?

编辑:除非我决定使用 uint64_t,并确定 64 位是屋顶,否则无法完成此操作,因为某些 64 位指针可能在 32 位整数范围之外。因此,我决定比较字符串会更安全,即使它比较慢。

最佳答案

对于指针,请始终使用 %p---它是专门为以正确格式打印指针而设计的格式说明符。 :-)

关于c++ - 在 C++ 中将指针表示为字符串的最佳可移植方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/947079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com