jcst.net
当前位置:首页 >> C++中为什么要尽量使用0而不是NULL >>

C++中为什么要尽量使用0而不是NULL

你们老师这样对你说的么?然后想告诉你,C++最新的规范中(2011年的,也叫C++11)的说法是,NULL是标准的,但是兼容以前的以0等价于空值的写法。 所以,标准的写法是NULL,而不是0。 但是,要在心中建立起这样的概念,C++编程中,所有的数据对电...

来自网上,仅供学习交流。 首先呢,要明白一点儿,NULL是一个无类型的东西,而且是一个宏。而宏这个东西,从C++诞生开始,就是C++之父嗤之以鼻的东西,他推崇尽量避免宏。而在他的FAQ中,也有相应的一个关于NULL与0的解释,也谈到了这一点儿。St...

NULL是空地址的意思,在使用指针变量时表示一个空地址,NULL的值在“stdio.h”头文件中被定义为一个值为0的符号常量;即 #define NULL 0 NULL的值为0 0可以表示数字0,也可以表示ASCII码值为0的字符 “ ”表示字符串的长度为0的字符串。 千万别把NUL...

在stdio.h中是这样定义的: #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif

在c++里,NULL和0是通用的,NULL本身是一个宏:#define NULL 0,所以和0的用法是一样的,例如int *p = NULL;int *q = 0; // 和 int *q = NULL 一样char *str = NULL;等等。 知识延展: NULL本意是“空的”;元素只有“零”的意思,计算机中通常表示...

0是一个数字,本身有着一些原生的特性诸如:起始,没有,正负的分界线,0/1中的0还可以表示否定。0可以表示数字0,也可以表示ASCII码值为0的字符。 NULL用于将指针指定为空指针,也就是说该指针不指向任何对象,不可以对该指针进行解引用,否则...

NULL 是常数(宏定义常数),用来表示 “没有东西”这个东西。 默认数值 ASCII码 0x00 例如 stdio.h 定义 NULL 是 0 或指针 0: /* Define NULL pointer value 宏定义常数 */ #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ...

C语言和C++对大小写是敏感的,也就是说null和NULL是区别对待的。NULL(如已宏定义)代表空地址,null(如没宏定义)只是一个符号。其实null和NULL都是字符串,具体看它们宏定义被定义成为什么值。 VS中NULL被定义为0,因为习惯上把宏定义的所有字符...

NULL不是C语言基本类型,其定义在stddef.h文件中,作为最基本的语言依赖宏存在。但是随着C/C++的发展,很多文件只要涉及了系统或者标准操作都会将NULL作为标准宏声明或者包含。所以几乎包含任意的C++标准头文件都会把这个宏引入。 其定义在cstdd...

#include int main(void) { int n = NULL; return 0; } 上面这段程序是用G++(一种C++语言的编译器)编译通过的,但是编译器会给出警告: warning: initialization makes integer from pointer without a cas 我们将n的值输出,n为0 (注意,0是...

网站首页 | 网站地图
All rights reserved Powered by www.jcst.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com