我正在看C文档n3042介绍
nullptr
常量
当它枚举
nullptr
的属性时,有以下内容:
那么如果我编写以下代码来验证前面的属性断言是否可靠?
void* null_ptr1 = NULL;
void* null_ptr2 = nullptr;
if (memcmp(&null_ptr1, &null_ptr2, sizeof(void*)) == 0)
printf("binary rep. of NULL and nullptr is the same.\n");
else
printf("binary rep. of NULL and nullptr is not the same.\n");
那么如果我编写以下代码来验证前面的属性断言是否可靠?
C 语言规范并不禁止任何给定的指针类型有多个不同的空指针表示形式。因此,就规范而言,您的程序可能会打印“NULL 和 nullptr 的二进制表示不同。”