算是MARK帖。
1. STL VERCTOR 和python中的list都不能通过迭代器来进行遍历删除
是因为迭代器是一开始就初始化好了,但是VECTOR和list都会自己进行删除后的回收工作。迭代器并不知道删除后会会发什么什么。iter++不知道会指向哪?? 可以看下iter的实现方法。
2. uthash HASH_ITER+ HASH_DELETE就可以做到
是因为,HASH_ITER是从head开始往外吐指针p,HASH_DELETE负责对p来进行处理,同时负责对双向链表的工作,所以可以边遍历边删除。
阅读(2858) | 评论(0) | 转发(0) |