C++:为什么在有指针时需要引用?

Eit*_*n T 26 c++ pointers reference

可能重复:
C++:何时使用引用与指针
运算符重载是否可以在没有引用的情况下工作?

我无法帮助它,但这个基本问题在我的脑海里浮现:为什么C++在你可以使用指针时也有引用?

我知道在某些情况下它们稍微安全一些,而且往往使代码更漂亮,但从技术上讲,没有区别,对吧?那么有什么情况我不能用指针和引用是必须的吗?
我想看看何时使用引用的具体例子是不可避免的.

免责声明:
我在StackOverflow上没有找到任何答案,这不是关于语法差异的问题.我想知道为什么C++语言首先引入了引用.

Luc*_*ore 8

  • 单独使用指针你不能正确pass-by-referencereturn-by-reference.
  • 有些方法需要参考.你将如何实现一个拷贝构造函数?
  • 有时您需要强制别名.你不能用指针做到这一点 - 它们可以改变.引用不能绑定到不同的东西.因此,在初始化引用时,您保证它将通过其作用域引用同一对象.
  • 安全问题
  • (const)引用可以绑定到临时对象.要创建临时指针,您需要在传递给它的方法中释放它.但你无法判断它是暂时的还是不是内部的.


zch*_*zch 6

运算符重载.使用指针"通过引用传递"会给你不可接受的语法.

  • @EitanT这就是C++首先引入参考文献的原因. (3认同)
  • 那么,一个例子? (3认同)