1. 用const修饰STL迭代器指示这个迭代器不能指向不同的东西,但是迭代器所指向的内容是可以变化的,如果需要让迭代器内容页不可以变化,可以使用const_iterator.
2. 用const修饰函数声明,const可以用于修饰函数返回值,参数,成员函数。
3. 函数,特别是运算符重载,使用const返回值,可以避免因客户失误(主要还是代码设计的不严谨)导致的意外,也不至于破坏安全性和高效性,比如, 对于类型T,使用operator*声明式: const T operator*(const T& lhs, const T& rhs), 可以避免形如 if ((a*b) = c) 的错误。
4. 用const修饰成员函数的目的,是为了确认该成员函数可作用于const对象。
5. 在const和non-const成员函数中避免重复,抽象一个公有函数供两者使用,或让non-const版本调用const版本来避免重复。