我注意到网络和书籍中引用类型函数的示例代码都只有一个返回行(如下来自 MSDN)
class Point
{
public:
unsigned& x();
private:
unsigned obj_x;
};
unsigned& Point :: x()
{
return obj_x;
}
int main()
{
Point ThePoint;
ThePoint.x() = 7;
}
我认为如果我在引用类型函数中包含更多行(算术表达式、控制结构等),它们只会在用作普通(R 值)函数时改变其行为。但是我怎么能写一个函数,当用作 L 值时,将对其 R 值(此处为数字 7)进行一些算术运算或根据某些条件检查它,然后将其放入返回变量(此处obj_x
)?