C++引用和指针的区别还分不清楚?

不像其他语言,c++既有引用的概念、又有指针的概念。

很多人用着用着就懵了。

不用慌,给你画个表格协助判断。

总体上,我们可以总结为以下五个区别:

一、定义方式:

  • 指针通过使用 * 来定义,例如:int* ptr;
  • 引用使用 & 来定义,例如:int& ref = num; ,并且必须在定义时进行初始化。

二、内存存储

  • 指针本身有自己的内存空间,用于存储所指向对象的地址。
  • 引用不占用额外的内存空间,它只是所引用对象的一个别名。

三、可重新赋值

  • 指针可以指向不同的对象,即可以重新赋值。
  • 引用一旦初始化,就不能再引用其他对象。

四、空值

  • 指针可以为空(NULL 或 nullptr )。
  • 引用必须关联到一个有效的对象,不能为空。

五、操作方式

  • 访问指针所指向的对象需要使用解引用操作符 * 。
  • 引用可以直接像使用原始对象一样使用。
相关推荐
Z1Jxxx11 分钟前
日期日期日期
开发语言·c++·算法
Learner12 分钟前
Python函数
开发语言·python
_李小白18 分钟前
【Android FrameWork】延伸阅读:AMS 的 handleApplicationCrash
android·开发语言·python
报错小能手21 分钟前
nginx集群聊天室(一) 初步讲解集群聊天室所需库的搭建
c++·nginx
蕨蕨学AI22 分钟前
【Wolfram语言】45.1 数据集
开发语言·wolfram
黎雁·泠崖23 分钟前
Java入门篇之吃透基础语法(一):注释+关键字+字面量全解析
java·开发语言·intellij-idea·intellij idea
hqwest24 分钟前
码上通QT实战15--监控页面07-打开串口连接
开发语言·qt·多线程·signal·slot·emit·信号和槽
mjhcsp25 分钟前
C++ 后缀树(Suffix Tree):原理、实现与应用全解析
java·开发语言·c++·suffix-tree·后缀树
mjhcsp33 分钟前
C++ 有限状态自动机(FSM):原理、实现与应用全解析
开发语言·c++·有限状态自动机