引用与指针有什么区别?

引用与指针有什么区别?引用与指针有什么区别?指针和引用都是地址的概念,指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。程序为指针变量分配内存区域,而不为引用分配内存区域。指针使用时要在前加*,引用可以直接使用。引用在定义时就被初始化,之后无法改变;指针可以发生改变。即引用的对象不能改变,指针的对象可以改变。没有空引用,但有空指针。这使得使用引用的代码效率比使用指针的更高…

引用与指针有什么区别?

指针和引用都是地址的概念,指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。
  • 程序为指针变量分配内存区域,而不为引用分配内存区域。

  • 指针使用时要在前加 * ,引用可以直接使用。

  • 引用在定义时就被初始化,之后无法改变;指针可以发生改变。 即引用的对象不能改变,指针的对象可以改变。

  • 没有空引用,但有空指针。这使得使用引用的代码效率比使用指针的更高。因为在使用引用之前不需要测试它的合法性。相反,指针则应该总是被测试,防止其为空。

  • 对引用使用“sizeof”得到的是变量的大小,对指针使用“sizeof”得到的是变量的地址的大小。

  • 理论上指针的级数没有限制,但引用只有一级。即不存在引用的引用,但可以有指针的指针。
    int **p //合法
    int &&p //非法

  • ++引用与++指针的效果不一样。
    例如就++操作而言,对引用的操作直接反应到所指向的对象,而不是改变指向;而对指针的操作,会使指针指向下一个对象,而不是改变所指对象的内容。

参考文献:
https://www.cnblogs.com/gxcdream/p/4805612.html

今天的文章引用与指针有什么区别?分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/6852.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注