您的位置:首页 > 其它

浅谈指针和引用

2015-08-06 11:58 253 查看
我们知道用指针和引用来定义函数形参的时候,都可以直接改变参的值。那么指针和引用有哪些区别呢?

我们先根据引用和指针的定义展开:引用是某个变量或者对象的别名,而指针则存储的是一个机器码地址,这个地址是某个具体变量或者对象的地址。因此区别有:

1)指针可以为空,但是引用不行

2)声明指针可以不指向任何对象,因此使用指针之前必须做判空操作,而引用则不必

3)引用一旦声明后,就不可以改变指向;但是指针可以,如++操作符,指针则指向下一个对象,而引用则改变的是指向对象的内容

4)引用的大小是所指变量的大小,而指针仅仅是个机器码 ,指针的大小永远都是4个字节,不管是几级指针

5)引用形式上漂亮

6)引用比指针安全,而指针的指向很灵活,容易产生野指针,比如多个指针指向一块内存,free掉一个,别的指针就成了野指针。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: