Advertisement

C++ null pointer与 NULL

阅读量:

目录

指针空值nullptr(C++11)

1.1C++98中的指针空值

1.2注意


指针空值nullptr(C++11)

1.1C++98中的指针空值

void****TestPtr() { int p1 =NULL;* int p2 = 0;* }

遵循优秀的C/C++编程规范,在声明一个变量时建议为该变量分配适当的初始值

NULL** 实际是一个宏,在传统的**** C**** 头文件**** (stddef.h)** 中,可以看到如下代码:

#ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif

可以看到,NULL也可以被视为一种特殊的字面常量,它可以表示零值或者未分配内存空间的状态(void*).无论选择哪种实现方式,在涉及带有空缺指针的情况时,总会面临一些挑战性的问题.例如,在实际应用中,当一个变量被声明为int**类型但未初始化时,在某些编程语言中会被赋值为零值;但在其他编程语言中则可能导

全部评论 (0)

还没有任何评论哟~