Qqw*_*qwy 6 c++ const member-functions c++11
我正在学习C++.我无法理解的一件事是,何时放置&,const或const &在声明成员函数之后.
一个例子:
class Foo
{
// When to use which one?
bool bar(int baz);
bool bar(int baz) const;
bool bar(int baz) &;
bool bar(int baz) const &;
}
Run Code Online (Sandbox Code Playgroud)
我的直觉说:
const或const &尽可能使用,因为它声明该函数不会改变对象,因此在const myfoo某个地方仍然可以使用.&或const &不会复制调用成员函数的对象,而没有&后面的函数会.const &除非你不能,否则总是使用?这些陈述是真的吗?
到目前为止,我无法找到关于此的信息,很可能是因为我不知道"改变函数行为的函数背后的这些东西"的正确术语.
何时使用哪个版本?