erase()函数的功能是用来删除容器中的元素
删除某个容器里的某个元素:c.erase(T);
数组容器以vector为例,当执行container.erase(it)时,第一个满足条件的元素删除了,但这时数组容器不允许中间有“空隙”,所以会做个大动作,就是将被删元素后面所有的元素前移(参考STL源码),而数组容器记录的是下标,所以删除元素后,当前下标定位的元素也就顺理成章的变成了原有队列中的下一个元素。
erase()函数的功能是用来删除容器中的元素
删除某个容器里的某个元素:c.erase(T);
数组容器以vector为例,当执行container.erase(it)时,第一个满足条件的元素删除了,但这时数组容器不允许中间有“空隙”,所以会做个大动作,就是将被删元素后面所有的元素前移(参考STL源码),而数组容器记录的是下标,所以删除元素后,当前下标定位的元素也就顺理成章的变成了原有队列中的下一个元素。