我目前正在改进将所有外部调用记录到文件中的 COM 组件部分。对于指针,我们编写类似 (IInterface*)0x12345678
的内容,其值等于实际地址。
目前,空指针没有区别——它们显示为 0x0
,IMO 是次优和不优雅的。改变这种行为根本不是问题。但首先我想知道 - 用十六进制表示空指针有什么真正的优势吗?
最佳答案
在 C 或 C++ 中,您应该能够使用标准 %p
格式化代码,这将使您的指针看起来像其他人的指针。
我不确定 %p
如何在 Win32 中格式化空指针, 在 Linux 上,我认为你会得到 "null"或类似的东西。
关于language-agnostic - 有什么理由对空指针使用十六进制表示法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2131366/