关注
在 C++中,指针和引用有以下区别:
一、本质
- 指针:指针是一个变量,它存储的是另一个变量的内存地址。例如 int* ptr; 这里 ptr 是一个指向 int 类型变量的指针。
- 引用:引用是一个变量的别名,它不是独立的变量,必须在初始化时绑定到一个已存在的变量上,且不能重新绑定到其他变量。例如 int& ref = a; 这里 ref 是变量 a 的引用。
二、语法
- 指针:使用星号 * 表示解引用操作,用于访问指针所指向的变量的值。例如 *ptr = 10; 。使用取地址符 & 来获取变量的地址赋值给指针。例如 ptr = &a; 。
- 引用:在声明时直接使用变量名作为引用的名称,无需额外的操作符。例如 int& ref = a; 。
三、内存占用
- 指针:指针本身在内存中有自己的存储空间,其大小通常取决于系统架构(例如在 32 位系统中通常是 4 个字节,在 64 位系统中通常是 8 个字节)。
- 引用:引用不占用额外的内存空间,它只是已存在变量的别名。
四、空值表示
- 指针:可以指向空地址 nullptr ,表示不指向任何有效的内存位置。
- 引用:必须在初始化时绑定到一个有效的对象,不能为引用赋予空值。
五、可修改性
- 指针:可以重新指向不同的内存地址,即可以改变指针所指向的对象。
- 引用:一旦初始化绑定到一个变量,就不能再绑定到其他变量。
查看原帖
点赞 3
相关推荐
牛客热帖
更多
正在热议
更多
# 实习没人带,苟住还是跑路? #
11303次浏览 242人参与
# 你觉得专业和学校哪个对薪资影响最大 #
87245次浏览 587人参与
# 对2025年忏悔 #
3609次浏览 92人参与
# 巨人网络求职进展汇总 #
183718次浏览 1222人参与
# 元旦假期你打算怎么过 #
7483次浏览 163人参与
# 春招前还要继续实习吗? #
3953次浏览 57人参与
# 大家实习都在做什么? #
8054次浏览 86人参与
# 面试官问过你最刁钻的问题是什么? #
8339次浏览 92人参与
# 我们是不是被“优绩主义”绑架了? #
8602次浏览 279人参与
# 一人说一家双休的公司 #
6379次浏览 89人参与
# 妈妈治愈了你哪些脆皮时刻 #
38879次浏览 338人参与
# 新年的第一句祝福 #
50886次浏览 376人参与
# 牛客2025仙途报告 #
35830次浏览 475人参与
# 你做过哪些dirty work #
25209次浏览 155人参与
# 如何提高实习转正率? #
73158次浏览 464人参与
# 运营来爆料 #
72504次浏览 454人参与
# 秋招盘点:机械人值得去的企业 #
93701次浏览 732人参与
# 阿里求职进展汇总 #
444232次浏览 3924人参与
# 实习期间如何提升留用概率? #
217799次浏览 1730人参与
# 联影求职进展汇总 #
165311次浏览 832人参与
查看11道真题和解析