本文主要总结在C++中指针与引用的区别.
从定义与性质来看指针与引用有如下区别:
指针表示的是一块变量的地址
引用表示一个变量的别名.
因此指针变量需要占用空间(一个指针变量在32位系统下占用4字节,64位系统下占用8字节);
理论上来说,引用不需要占用空间.(但引用的底层也是靠指针来实现的,不要问我怎么知道的,看反汇编咯!)
从用法来看如下区别:
1.引用在定义时必须初始化且初始化后不能改变指向;指针可以不用初始化,也可以改变指向.
2.指针的++、--操作改变的是地址,而引用的++、--改变的就是变量本身.
3.指针使用时需要解引用,引用不需要解引用.
4.指针sizeof代表指针的大小,引用sizeof表示变量的大小.
5.指针可以有多级指针,而引用不存在多重引用.
6.引用可以不能为空,而指针可以指向NULL