C ++ - 我为什么要返回引用?

时间:2014-08-22 03:23:56

标签: c++ function reference return

为什么要在C ++中返回引用?我知道一个原因是您可以使用赋值运算符左侧的函数,但 all 返回引用的最常见原因是什么?另外,您能否举例说明何时应该使用返回参考。

编辑 - 我想一个更好的问题是返回参考的最常见原因是什么。

1 个答案:

答案 0 :(得分:2)

通常,当您希望该函数将访问对象授予其调用者时,可以从函数返回引用。这就是容器使用operator[]

授予对其元素的访问权限的方式
      value_type& operator[](size_type pos)
const value_type& operator[](size_type pos) const

迭代器返回operator++的自引用,以支持链接操作,例如*++it;就此而言,它返回operator*的引用,以便授予对其迭代的容器的访问权限:

value_type& operator*() const {
  return *internal_pointer;
}

iterator& operator++() {
  ++internal_pointer;
  return *this;
}