"指针"和"引用"大对比
Posted keystone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了"指针"和"引用"大对比相关的知识,希望对你有一定的参考价值。
相同点:
都能够直接引用对象,并对对象进行操作.
不同点:
指针 | 引用 |
指针类型的变量能够保存一个对象的地址 | 引用是一个对象的别名 |
可以为空nil,可以不初始化 | 不可以为空nil,必须初始化 |
当设计一个变量用于指向另一个对象,但是变量有可能为空,这时应该使用指针. | 当设计一个变量总是指向一个对象,不允许为空,这时应该使用引用. |
声明指针可以不指向任何对象,因此使用指针之前,要做判空操作 | 不用做判空操作,因为它一定不为空!=nil |
可以改变指向,从而指向其他对象 | 引用不可改变指向,它对一个对象"致死不渝" |
对指针的操作,会导致指针指向下个对象,而不是改变指向对象的内容. | 对引用的操作直接反应到所指向的对象上.对象的内容改变了. |
以上是关于"指针"和"引用"大对比的主要内容,如果未能解决你的问题,请参考以下文章