指针和引用的区别
总结
指针是保存地址的变量,可以为空、可变;
引用是变量的别名,必须初始化、不可为空、不可重新绑定。
cpp中优先使用引用,只有在需要“可空/可变指向”时才使用指针
指针和引用对照
| 对比点 | 指针(Pointer) | 引用(Reference) |
|---|---|---|
| 本质 | 保存地址的变量 | 变量的别名 |
| 是否必须初始化 | 否 | 是 |
| 是否可以为空 | 是 | 否 |
| 是否可以改变指向 | 是 | 否 |
| 是否有独立内存 | 有 | 无 |
| 访问方式 | *p解引用 | 直接用变量名 |
| sizeof | 指针大小(8字节) | 等于所引用对象大小 |
| 多级 | int** | 不存在 |
| 常见用途 | 动态数组、数组、指针传参 | 参数传递、返回值 |
示例
指针
1 | int a = 10; |
p存的是a的地址
需要*才能访问值
引用
1 | int a = 10; |
r就是a不需要*
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 JasmineRain's blog!
评论
