偶然发现了一些我以前从未见过的东西。考虑一下你有以下课程:
class foo
{
const bar* get() const;
bar* get();
}
foo的客户如何决定使用哪种get()方法?
答案 0 :(得分:8)
与const
ness上的任何其他重载一样,它取决于调用函数的对象的访问路径(换句话说,隐式this
参数的类型)
示例:
void bar(foo nc1, foo &nc2, foo *nc3, const foo &c1, const foo *c2) {
// These call the non-const version:
nc1.get();
nc2.get();
nc3->get();
// These call the const version:
c1.get();
c2->get();
}