定义空指针:
int *p1=nullptr
int *p2=0;
int *p3=NULL;
用字面值nullptr来初始化指针,这是C++11新标准刚引入的一种方法。nullptr是一种特殊类型的字面值,它可以被转换成任意其他的指针类型。
将指针初始化为字面值0来生成空指针。
过去程序还会用到一个名为NULL的预处理变量来给指针赋值这个变量在头文件cstdlib中定义,它的值就是0。
当用到一个预处理变量时,预处理器会自动地将它替换为实际值,因此用NULL初始化指针和用0初始化指针是一样的。在新标准下,现在的C++程序最好使用nullptr,同事尽量避免使用NULL。
值得注意的是:指针和引用都能提供对其他对象的间接访问,然而在具体实现细节上二者有很大的不同,其中最重要一点就是引用本身并非一个对象。引用必须初始化,并且一旦定义了引用,就无法令其再绑定另外的对象。
以void*的视角来看内存空间也就仅仅是内存空间,没办法访问内存空间中所存的对象。
-----------------------------50---------------------------