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 的能力。