language-agnostic - 有什么理由对空指针使用十六进制表示法?

标签 language-agnostic pointers null hex

我目前正在改进将所有外部调用记录到文件中的 COM 组件部分。对于指针,我们编写类似 (IInterface*)0x12345678 的内容,其值等于实际地址。

目前,空指针没有区别——它们显示为 0x0,IMO 是次优和不优雅的。改变这种行为根本不是问题。但首先我想知道 - 用十六进制表示空指针有什么真正的优势吗?

最佳答案

在 C 或 C++ 中,您应该能够使用标准 %p格式化代码,这将使您的指针看起来像其他人的指针。

我不确定 %p 如何在 Win32 中格式化空指针, 在 Linux 上,我认为你会得到 "null"或类似的东西。

关于language-agnostic - 有什么理由对空指针使用十六进制表示法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2131366/

相关文章:

python - spark 中 null 和 NaN 之间的区别?如何处理?

java - H2 - 为什么 GROUP_CONCAT 拒绝具有 NULL 值的行?

if-statement - 为什么一个变量与多个值的不相等检查总是返回 true?

language-agnostic - 可扩展/可定制的网络爬虫引擎/框架/库?

cookies - 你的 "remember me"cookie 的生命周期是多少?

c - 如何在指针上正确使用 malloc?

c - 字符串比较功能正常

pointers - 返回给函数的调用者时无法保留 golang 字段的值

arrays - 如何从数组末尾删除 nil 或空元素?

language-agnostic - 两个整数的比较和相加 : in detail