从Effective C++,第3项C++:使用常量与STL迭代器
/* case1 */ const std::vector<int>::iterator i // i acts like a T* const
/* case2 */ std::vector<int>::const_iterator ci // ci acts like a const T*
记住如何const
适用,我曾经记得this article
基本上 '常量' 以下适用于任何 在它的左侧(不包括 ,如果没有任何其他 的情况,它适用于它的任何 直接右侧)。
当我第一次读到书中的第3项时,我预料它会在case1和case2中相反。
我应该将此案例视为例外吗?还是有一些更深层次的理解,我错过了?
一个地方,我发现第一个案例是有用的保存搜索的输出,从'std :: find_if'说。 'const std :: vector :: iterator i = std :: find_if(...);'说我想记住搜索的结果,并且我不想无意中改变结果。 –
SCFrench
2010-07-25 18:18:56