如果我想从类成员函数返回“this”作为引用,这段代码是否正确?
Record& operator=(const Record& that) { m_name = that.m_name; return *this; }
我不应该只使用“返回这个”吗?
感谢您的帮助:)
最佳答案
是的,没错。
Return this
将不起作用,因为 this
是一个指针。 (它是指针而不是引用的原因是因为直到课后才将引用引入语言。)
在这种特定情况下,如果您只是打算分配成员,那么您不应该编写复制赋值运算符;默认会做同样的事情。当您管理某些资源(并调用 Rule of Three )时,您会想要使用 copy-and-swap idiom .
关于C++ 函数返回值作为引用并返回 *this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3754432/