- 主题:发现能正确写对for循环里删除iterator里指向的某个元素的不多
我从不在遍历容器的循环里直接删容器的成员,都是先记入待删除队列里面,等结束遍历之后从待删除队列里面一遍全删。
好处是不依赖容器的具体实现,不管是map还是hash_map或者flat_hash_map又或list、vect统统有效。
--
FROM 110.185.26.*
当然是记录key,那玩意才是唯一特征而且不会变。
【 在 z16166 的大作中提到: 】
: 那待删除队列里面也只能记录map的key,而不能记录指向map的iterator了
--
FROM 110.185.26.*
plf::colony和C++26的std:hive可以在循环里删除,不影响其它迭代器,效率最高。
【 在 z16166 的大作中提到: 】
: 这样效率不高。不过很多项目可能还到不了要抠这个效率的地步,写对为优先
:
--
FROM 171.213.146.*