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

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

private:
int i=0;
};
展开
 我来答
幻形术
2018-08-22 · TA获得超过1261个赞
知道小有建树答主
回答量:994
采纳率:81%
帮助的人:253万
展开全部

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

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

A a;
a.test();

下面这样调用是错的:

A().test();
追问
才搞明白 成员函数后可以跟 &和&&叫引用限定符,&表示该方法只能用于左值,&&标识该方法只能用于右值。
追答
能知道左值右值的概念当然更好了。常量临时量就是右值。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式