C++指针与引用的区别

Posted 久病成良医

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++指针与引用的区别相关的知识,希望对你有一定的参考价值。

指针和引用的区别:

相同点:
(1)效率差不多
(2) 在传参时可以达到相同的效果,即修改形参都可以改变外部的实参
(3) 在底层实现方式上是一样的,引用实际就是按照指针的方式来实现的

不同点:
(1)指针是一个变量,存储的是一个地址,引用跟原来的变量实质上是同一个东西,是原变量的别名。
(2)指针可以有多级,引用只有一级。
(3)指针可以为空,引用不能为空
(4)引用在定义时必须初始化,指针没有要求
(5)引用在初始化之后就不能再引用其他实体,而指针可以重新指向别的变量
(6)sizeof引用得到的是引用所指向变量的大小,sizeof指针始终是地址空间所占字节个数(32位平台下 占4个字节)
(7)引用自加即引用的实体增加1,指针自加即指针向后偏移一个类型的大小
(8)访问实体方式不同,指针需要显式解引用,引用编译器自己处理
(9)引用比指针使用起来相对更安全,指针需要判空

以上是关于C++指针与引用的区别的主要内容,如果未能解决你的问题,请参考以下文章

C++指针与引用的区别

C++指针和引用的区别

C++指针和引用的区别

c++ 指针与引用区别

C++原生指针,引用与智能指针

C++ 引用 和 指针区别