指针的本质
指针p也是对象,只不过p存储的数据类型是它所指的对象的地址。可以通过解引用操作符“”来访问对象的值,即p。
对象有常量(const)和非常量之分,如果指针本身是常量,即指针常量,指这个指针所存储的地址是不可以改变的。而指向常量的指针的意思是,不能通过该指针来改变这个指针所指的对象。
引用的本质
引用的底层是一个指针常量,是指针操作的语法糖,加入了一些特性,方便了程序员。
引用和指针,在内存中都是占用4个字节(32bits系统)的存储空间。
指针与引用的区别
指针可以是NULL,而引用不行,引用必须有一个其所指的对象引用不可以将其重新指向另一个对象引用的创建、销毁不会调用类的拷贝构造函数和析构函数由于引用永不为空,所以不需要判断其是否为空,而指针需要sizeof引用得到的是所指对象的大小,而sizeof指针得到的是指针的大小有指针数组,没有引用数组引用和指针的自增自减操作意义不同,引用自增自减被引用对象的值,指针自增自减内存地址