C ++不同类的getter

时间:2015-04-13 15:20:27

标签: c++ oop

我对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

1 个答案:

答案 0 :(得分:2)

关键字const适用于他前面的东西(在他的左边),或者,如果之前没有任何东西,它适用于它后面的东西(在他的右边)。你的3个案件的用途都是正确的。

您可以参考这篇优秀的文章,了解有关const正确性的更多信息:http://www.cprogramming.com/tutorial/const_correctness.html