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

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

很多人用着用着就懵了。

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

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

一、定义方式:

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

二、内存存储

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

三、可重新赋值

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

四、空值

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

五、操作方式

  • 访问指针所指向的对象需要使用解引用操作符 * 。
  • 引用可以直接像使用原始对象一样使用。
相关推荐
小七在进步6 小时前
string的使用(1)
c++·visual studio
SomeOtherTime6 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood7 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青7 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
kloc10 小时前
聊天室项目入口网关子服务的实现
linux·c++
饮水桶_T11 小时前
JAVA IO流笔记
开发语言·数据结构·算法
csdn_aspnet13 小时前
C++ 3个有序点的方向(Orientation of 3 ordered points)
c++·算法
Felven13 小时前
C. Brr Brrr Patapim
c语言·开发语言
小七在进步14 小时前
string的使用(2)
c++
路溪非溪15 小时前
python标准库使用总结
开发语言·python