2015-08-20
C++的容器,常用的begin(),end()返回迭代器,一直以来有一个误区,而且在网上看很多文章,发现都陷入了这个陷阱
关于end()返回的迭代器,很多人都认为是返回了指向容器尾部最后一个元素的迭代器,但实际上是错误的。如果指望用end()来获取容器末尾元素的话,代码会直接崩溃。
前几天细翻PRIMER的时候,才注意到end()的解释是“尾后迭代器”,也就是说,end()返回的是容器最后一个元素之后的迭代器,这个迭代器不指向任何元素。