C++-为什么从成员函数返回对类的引用
在下面的课堂上。我很难理解为什么你会从成员函数返回对类的引用。
例如 setInterval() 初始化成员变量 'interval. 有人可以解释返回类类型引用的优势吗?
它是对*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);
};
回答
这不是对类的引用,而是对类实例的引用。
这在您想要链接的函数中很典型,例如:
FitFunction ff;
ff.setInterval(...).setSomethingElse(...);
想法是该函数return *this在最后执行 a ,所以是的,实际上是对它的引用。
您会看到这种方法在诸如operator<<按设计链接的流之类的事情中使用得更多。