标签:声明 code mamicode 应该 技术 info 指针 对象 相同
相同点:
都能够直接引用对象,并对对象进行操作.
不同点:
指针 | 引用 |
指针类型的变量能够保存一个对象的地址 | 引用是一个对象的别名 |
可以为空nil,可以不初始化 | 不可以为空nil,必须初始化 |
当设计一个变量用于指向另一个对象,但是变量有可能为空,这时应该使用指针. | 当设计一个变量总是指向一个对象,不允许为空,这时应该使用引用. |
声明指针可以不指向任何对象,因此使用指针之前,要做判空操作 | 不用做判空操作,因为它一定不为空!=nil |
可以改变指向,从而指向其他对象 | 引用不可改变指向,它对一个对象"致死不渝" |
对指针的操作,会导致指针指向下个对象,而不是改变指向对象的内容. | 对引用的操作直接反应到所指向的对象上.对象的内容改变了. |
标签:声明 code mamicode 应该 技术 info 指针 对象 相同
原文地址:https://www.cnblogs.com/keystone/p/12975075.html