STL
文章平均质量分 70
随心而动随意而行
time waits no man
展开
-
trait特性萃取机
先来一个图,给大家一个直观印象,看看特性萃取机是干什么的. 看到了吧,各种迭代器被还原成其本来类型了,这就是tait技术,stl中重要的手法之一:即获取迭代器所指向的内容. 接下来我们要看一下trait技术的实现方法. 首先假如有以下一个泛型的迭代器类,其中类型参数T 为迭代器所指向的类型: template class myIterator { ... }原创 2014-02-15 18:53:15 · 781 阅读 · 0 评论 -
STL序列容器
序列容器:逻辑上有序,但是实际上其地址不一定是连续的. 序列容器包括vector,list,deque,queue,priority_queue,stack. 我们下面对每一个容器进行分析. vector容器 大家对vector一定非常熟悉了.当内存不足时候,会对vector进行扩容,扩容的方式是先申请一个更大的空间,然后把原来的数据复制到新的空间上,释放原先的空间.原创 2014-02-15 23:17:15 · 904 阅读 · 0 评论 -
C++:在遍历/循环中删除map元素, 如何避免iter 迭代器失效
C++:在迭代中删除map的成员 首先要清楚一点,迭代器相当于是容器上的指针,容器可以自己管理内 存,因此迭代器可能失效。 如果你在不知情的情况下使用了失效的迭代器,后果是不可预料的。可能程序立即崩掉,也可能什么事都没有发生。崩掉了算你 幸运,因为你至少知道出了问题,不然有你受的。 回到正题,我想说什么呢? 比如: 程序代码 map theMap; // add some转载 2014-03-18 13:23:06 · 2773 阅读 · 0 评论