指针和引用都是对另一个变量的一种关联, 即通过指针和引用可以使用另一个变量. 而它们最大的区别在于: 指针是一个变量, 而引用不是. 但在 c++ 底层中, 引用是通过指针实现的, 所以, 在实现层面上来说, 引用就是指针, 但是在 c++ 语法上来说, c++ 编译器并不为引用类型分配内存, 所以引用不能为空, 必须被初始化, 一旦初始化不能更改引用对象. 所有对引用的操作都是对原始对象的操作 .
指针是一个变量, 它所存储的就是它所指向的变量的地址, 而它同时也有着自己的地址. 引用可以理解为变量的 "小名", 它的地址也就是它引用的变量的地址. 也可以说, 指针指向一块内存, 它的内容是所指内存的地址; 引用是某块内存的别名. 它们更细致的区别总结如下:
2020-01-10
来源: http://www.bubuko.com/infodetail-3375007.html