经调试发现,在一个for循环中,删除遍历中的vector元素,假设有如下声明:

std::vector<std::string> test;

std::vector<std::string>::iterator it;

用test.erase(it++),在删除最后一个元素后,it!=test.end()并不为true,

而改用it = test.erase(it)时,it!=test.end()为true,

虽然两种删除后,it指向的内容都一样。

搞不懂,是以铭记。