将某些东西声明为const可以帮助编译器发现错误;const可以施加于任何作用域内的对象、函数参数、函数返回类型、成员函数本体编译器强制实行bitwise constness(物理常量性),而我们的程序应该坚持逻辑常量性(conceptual constness)当const、non-const成员函数有实质相同的实现的时候,可以用non-const版本调用const版本从而便面代码重复