引用和指针
——关于概念的区别
- 引用:
-
是一个别名,它在逻辑上是不独立的,它的存在具有依附性(自始至终只能依附于同一个变量,不能改变),所以引用必须在一开始就被初始化。
- 从一而终
- 没有const
- “sizeof 引用”得到的是所指向的变量(对象)的大小
-
- 指针:
- 从本质上讲就是存放变量地址的一个实体变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。
- 见异思迁
- 有const,const的指针不可变
- “sizeof 指针”得到的是指针本身的大小;
——关于传递参数的区别
- 引用:
- 被调函数对形参做的任何操作都会影响主调函数中的实参变量
- 指针:
- 被调函数对形参做的任何操作都不会影响主调函数中的实参变量
- 要想影响:
- 使用指向指针的指针
- 或者指针引用