目录
1.前言
为了保持良好的编程习惯,我们在声明某个变量时都应该给这个变量合适的初始值,不然容易出现不可预知的错误。对于指针来说更是如此,在c语言中我们就通常将暂时没有指向的指针置为NULL.
2.剖析NULL
NULL是一个宏,通常被用来表示空指针。在C和C++的早期版本中,NULL通常被定义为0或者((void*)0),用于表示一个无效或未初始化的指针。
在传统的C头文件(stddef.h)中,可以看到如下代码
可以看到,NULL可能被定义为字面常量0,或者被定义为无类型指针(void*)的常量。不论采取何种定义,在使用空值的指针时,都不可避免的会遇到一些麻烦,比如
程序本意是想通过f(NULL)调用指针版本

本文详细比较了C和C++中NULL与nullptr的区别,强调nullptr在类型安全、可读性和重载决议上的优势,提倡在现代C++编程中使用nullptr以避免潜在问题。



最低0.47元/天 解锁文章
1066

被折叠的 条评论
为什么被折叠?



