首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >小写null在C++中有效吗?

小写null在C++中有效吗?
EN

Stack Overflow用户
提问于 2019-06-19 06:31:32
回答 3查看 4.9K关注 0票数 4

在任何版本的null语言规范中是否有小写的C++?

背景:

在一次采访中,有人问我“下列哪个指针初始化是有效的?”,我填写了如下表格:

代码语言:javascript
运行
复制
// 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;
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-19 06:36:56

在任何版本的null语言规范中是否有小写的C++?

不是的。

票数 22
EN

Stack Overflow用户

发布于 2019-06-19 06:45:05

一个词的回答是否定的。

试试下面的代码

代码语言:javascript
运行
复制
  #include <iostream>
#include <stdlib.h>
using namespace std;
int main(){
    int *p = null;
    int *q = NULL;
    return 0;
}

这给编译带来了以下错误:

错误:“null”未在此范围内声明

这是不言而喻的。

票数 8
EN

Stack Overflow用户

发布于 2019-06-19 07:05:58

答案写在一些头文件中。NULL是那些头文件(如** )中预定义的宏。

-> #定义NULL 0

**。因此,我们只能用大写"NULL“来定义,以避免编译终止。

但是,如果希望小写为null,则可以通过在头文件中定义新宏或在预定义宏中进行收费。但是在你想要做这些改变之前要小心。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56661378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档