方法声明c ++后的参考符号

Bon*_*bin 4 c++

在什么情况下使用const而不仅仅使用const来声明方法或函数是有益的?我知道使用const说这个方法不会修改类的成员,但是当我在之后添加引用符号时会发生什么?

例:

int myclass::getInteger() const& {
    return theInt;
}
Run Code Online (Sandbox Code Playgroud)

这是一个所谓的参考quailifier吗?更重要的是,参考符号对方法getInteger有何看法?谢谢!

Que*_*tin 5

是的,这是一个ref-qualified成员函数.右边的左值引用表示法使得此函数只能在左值上调用myclass,即:

myclass c;
c.getInteger(); // OK
myclass{}.getInteger(); // Compile-time error
Run Code Online (Sandbox Code Playgroud)