C++
Felix_0920
http://www.cnblogs.com/xing901022/p/3248469.html
展开
-
C++ vector容器erase操作后iterate失效真相
在使用STL Vector容器时,大家一定遇到进行erase操作后,迭代器会失效的现象。网上很多文章解释说,是因为Vector的底层是通过数组来实现的,erase之后会造成内存的重新分配,故原容器的迭代器便失效。 我以前也一直这样认为,从来没有深究过,最近在研读《STL 源码剖析》的第四章时,发现如下代码: iterator erase(iterator postion) { if原创 2015-07-23 12:39:06 · 3378 阅读 · 1 评论 -
C++ STL区间前闭后开的好处
C++STL中规定的区间为前闭后开,这样定义的好处主要有两点: 1. 为“遍历元素时,循环的结束时机”提供一个简单的判断依据。只要尚未到达end(),循环就可以继续下去。 2. 不必对空区间采取特殊处理手段。空区间的begin()就等于end()。原创 2015-07-24 09:57:40 · 1409 阅读 · 0 评论