指针和引用的区别
3 分钟阅读
•
384 字
+
329 词
指针是一个存储另一个变量地址的变量,而
引用是变量的别名
。指针可以指向空,而
引用在定义时必须被初始化
,并且
引用一旦被初始化,不能改变绑定
,因为
引用底层实现是一个指针常量
,
而指针可以改变指向
,指针需要解引用才可以访问变量。
参考答案
-
从概念上来说:
- 指针是一个存储另一个【变量地址】的变量,它指向内存中的一个位置。
- 引⽤就是变量的别名,从⼀⽽终,不可变,必须初始化
-
空状态:
- 指针可以被初始化为NULL或nullptr,表示它不指向任何地址。
- 引用在定义时必须被初始化 ,不能引用NULL或不存在的内存地址。
-
可变性:
- 指针: 可以改变指针的指向 ,使其指向不同的内存地址。
- 引⽤: ⼀旦引⽤被初始化,它将⼀直引⽤同⼀个对象 ,不能改变绑定。
-
操作
-
指针: 可以通过解引⽤操作符
*来访问指针指向的变量的值,还可以通过地址运算符&获取变量的地址。 - 引用: 引⽤在声明时被初始化,并在整个⽣命周期中⼀直引⽤同⼀个变量。不需要使⽤解引⽤操作符,因为引⽤本身就是变量的别名。
-
指针: 可以通过解引⽤操作符
-
用途:
- 指针: 通常⽤于动态内存分配、数组操作以及函数参数传递。
- 引⽤: 通常⽤于函数参数传递、操作符重载以及创建别名。