可以将引用看作是 C++ 的语法糖,编译器自动完成取地址、解引用的常量指针
指针和引用的相同概念(都是地址的概念):
- 引用是某块内存的别名
- 指针是指向一块内存,它的内容是所指内存的地址
指针和引用的不同概念:
-
引用
- 不是一个对象,只是一个别名
- 必须要定义的时候初始化,引用不能为空
- 初始化完毕后不能修改引用的对象
- 使用时无需解引
-
sizeof()
是引用对象的大小 -
++
为引用对象自增 - 类型安全
-
指针
- 是一个对象
- 不需要初始化,可以为空
- 初始化完成后可以修改指向的对象
- 使用时需要解引
*
-
sizeof()
是指针(所指向的对象地址)的大小 -
++
为指向地址自增