c++成员函数后的&符号是什么意思?

class A {
public:
int& test() & ///这里最后面的'&'是什么意思? vc++2017 any 头文件里这样用的
{
return i;
}

private:
int i=0;
};

表示调用该成员方法的对象必须是具名变量,不能是匿名变量(临时)变量。

比如下面这样调用是对的:

A a;
a.test();

下面这样调用是错的:

A().test();

追问

才搞明白 成员函数后可以跟 &和&&叫引用限定符,&表示该方法只能用于左值,&&标识该方法只能用于右值。

追答

能知道左值右值的概念当然更好了。常量临时量就是右值。

温馨提示:答案为网友推荐,仅供参考
相似回答