const 成员方法

时间:2023-02-14 07:51:59

1、使用场景

  代码提供者告诉客户(代码使用者),这个方法不会修改对象的内容,请客户放心使用。

2、代码提供者,尝试在const成员方法中修改对象内容,编译报错。在成员方法中,this是const 指针,不允许修改this指向其他内容。const 成员方法,限制了this为指向const对象的const指针。

3、const对象只能调用const成员方法,因为non-const成员方法可能会修改对象内容,这与const对象矛盾。

4、non-const对象可调用const成员方法,也可以调用non-const成员方法。

5、为什么可以做到上面的约束?

  如果B是A的别名(包括引用,指针),则B不能放大A 的能力,可以缩小A 的能力。