gpt4 book ai didi

c++ - 是否存在返回 RValue 引用 (&&) 有用的情况?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:47:39 26 4
gpt4 key购买 nike

函数应该返回右值引用是否有原因?一种技术、技巧、成语或模式?

MyClass&& func( ... );

我知道 returning references 的危险一般来说,但有时我们还是会这样做,不是吗? T& T::operator=(T) 只是一个惯用的例子。但是 T&& func(...) 怎么样?我们这样做有什么好处吗?与仅编写客户端代码相比,编写库或 API 代码可能会有所不同?

最佳答案

适当的场合有几种,但相对较少。当您希望允许客户端从数据成员 move 时,在一个示例中出现了这种情况。例如:

template <class Iter>
class move_iterator
{
private:
Iter i_;
public:
...
value_type&& operator*() const {return std::move(*i_);}
...
};

关于c++ - 是否存在返回 RValue 引用 (&&) 有用的情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29337181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com