繁体   English   中英

C++ - 为什么从成员 function 返回对 class 的引用

[英]C++ - why return a reference to the class from a member function

在class下面。 我很难理解为什么你会从成员 function 返回对 class 的引用。

例如 setInterval() 初始化成员变量 'interval. 任何人都可以解释返回 class 类型的引用的优势吗?

它是对 *this 的引用吗?

template <class Tx, class Ty = Tx>
class FitFunction {
    std::pair<Tx, Tx> interval;
    uint8_t var = 0;

public:
    FitFunction& setInterval(Tx minX, Tx maxX);

};

这不是对 class 的引用,而是对 class实例的引用。

这在您希望可链接的函数中很典型,例如:

FitFunction ff;

ff.setInterval(...).setSomethingElse(...);

想法是 function 最后return *this ,所以是的,实际上是对它的引用。

您会看到这种方法更多地用于诸如operator<<之类的设计中链接的流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM