浅谈指针和引用

来源:互联网 发布:带着淘宝混异界 叶忆落 编辑:程序博客网 时间:2024/05/16 12:29

    我们知道用指针和引用来定义函数形参的时候,都可以直接改变参的值。那么指针和引用有哪些区别呢?

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

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

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

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

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

    5)引用形式上漂亮

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


0 0
原创粉丝点击