【发布时间】:2019-06-19 06:31:32
【问题描述】:
在任何版本的 C++ 语言规范中是否有小写的null?
背景:
我在一次采访中被问到“以下哪些指针初始化是有效的?”,我填写的表格如下:
// valid
int* p1 = 0;
int* p2 = 2-2;
int* p6 = new int;
// invalid
int* p3 = 1;
int z = 0;
int* p4 = z;
// ???
int* p5 = null;
【问题讨论】:
-
我不知道,只是 NULL 和 nullptr
-
没有什么能阻止你创建一个
null宏,就像NULL是一个宏一样。 -
@Top-Master int* p5 = null;根据 null 的定义方式,可以是有效的还是无效的。:)
-
@blaze 希望工程理智的想法能阻止你这样做。
-
严格来说
int* p2 = 2-2;也是无效的。
标签: c++ standards c++-standard-library