我对C ++ OO比较陌生:
这个吸气器怎么样:
class A {
B b;
public:
B const &getB() const {
return b;
}
};
与此不同?
class A {
B b;
public:
const B &getB() const {
return b;
}
};
和这一个?
class A {
B b;
public:
const B &getB() {
return b;
}
};
哪一个是正确的?
修改的 这个问题在这里有一个答案:寻找"一致的const"在http://isocpp.org/wiki/faq/const-correctness#overview-const
答案 0 :(得分:2)
关键字const
适用于他前面的东西(在他的左边),或者,如果之前没有任何东西,它适用于它后面的东西(在他的右边)。你的3个案件的用途都是正确的。
您可以参考这篇优秀的文章,了解有关const正确性的更多信息:http://www.cprogramming.com/tutorial/const_correctness.html