- 指针是一个变量,存储的是一个地址;引用跟其原来的变量实质上是一个东西,只是原变量的别名。
- 指针可以有多级;而引用只有一级。
- 指针可以为空;引用不能为空。
- 指针声明和定义可以分开,可以先只声明指针变量而不初始化,等到用时再指向具体变量;而引用在声明时必须初始化为另一变量。
- 指针在初始化后可以重新改变指向;而引用在初始化后不可再改变。
- sizeof 指针得到的是这个指针的大小;而sizeof 引用得到的是引用所指向的变量的大小。
- 当把指针作为参数进行传递时,想要在外部函数里更改这个指针指向的值就必须传指针的指针,也就是二级指针;而引用直接传递就可以改变。
- 引用只是别名,不占用具体存储空间,只有声明没有定义;指针是具体变量,需要占用存储空间。
- 引用一旦初始化后就不可以再改变(一个变量可以被引用多次,但引用只能作为一个变量的引用);指针变量可以重新指向别的变量(非const)。
C++ 指针和引用的区别
最新推荐文章于 2023-02-10 21:22:57 发布