引用在实践上就是弱化了的指针(← C/C++ 意义上的指针)。
你可以试试下面的东西,是夹在理论与实践当中的:
①:引用在绑定一个对象以后你看看还能不能更改绑定的对象;你再试试指针能否能改变她指向的对象。
②:指针有 NULL、nullptr,而引用呢(当然你可以弄个“空对象”)?
③:你试试 std::vector<int &>;再试试 std::vector<int *>,看看哪个能编译通过。
④:跟指针相关的解引用操作符可以重载,而引用就没有那么啰嗦。
使用引用一方面是语言在一些情况下有所限定;另一方面她在代码重构的时候比较方便。
自己没写过多少代码,只能说出这么多,理论方面的更是没有经验,硬要说的话,就是:
指针太危险,容易让自己的代码 2B 掉;而引用算是比较安全的了!
另外说到效率,你可以把编译出的 PE 文件反汇编看看,看看编译器是怎么实现引用的!!