STL的map里有一个erase方法用来从一个map中删除掉迭代器指示的结点
如
map<string,string> mapTest;
auto it=mapTest.find(key);
mapTest.erase(it);
像上面这样只是删除单个节点,map的行为不会出现任何问题
但是当在一个循环里用的时候,往往会被误用,那是因为使用者没有正确理解iterator的概念
像下面这样的一个例子就是错误的写法
for<
STL的map里有一个erase方法用来从一个map中删除掉迭代器指示的结点
如
map<string,string> mapTest;
auto it=mapTest.find(key);
mapTest.erase(it);
像上面这样只是删除单个节点,map的行为不会出现任何问题
但是当在一个循环里用的时候,往往会被误用,那是因为使用者没有正确理解iterator的概念
像下面这样的一个例子就是错误的写法
for<