"指针"和"引用"大对比

Posted keystone

tags:

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

相同点:

  都能够直接引用对象,并对对象进行操作.

不同点:

指针 引用
技术图片 技术图片
指针类型的变量能够保存一个对象的地址 引用是一个对象的别名
可以为空nil,可以不初始化 不可以为空nil,必须初始化
当设计一个变量用于指向另一个对象,但是变量有可能为空,这时应该使用指针. 当设计一个变量总是指向一个对象,不允许为空,这时应该使用引用.
声明指针可以不指向任何对象,因此使用指针之前,要做判空操作 不用做判空操作,因为它一定不为空!=nil
可以改变指向,从而指向其他对象 引用不可改变指向,它对一个对象"致死不渝"
对指针的操作,会导致指针指向下个对象,而不是改变指向对象的内容. 对引用的操作直接反应到所指向的对象上.对象的内容改变了.

以上是关于"指针"和"引用"大对比的主要内容,如果未能解决你的问题,请参考以下文章

C语言指针变量比较

函数指针--菜鸟求解。

"指针指向另一个内存位置 "是什么意思?

8指针2

[C++]指针

C中“引用”和“取消引用”的含义