请考虑以下情况:
using namespace std;
unordered_map<int, vector<A>> elements;
现在我正在迭代这个无序的地图:
for (auto it = elements.begin(); it != elements.end(); ++it)
在循环内部,我正在从几个元素elements
(当前it
指向的元素和更多元素,不一定是下一个元素!)中形成集群。因为每个元素只能是一个集群的一部分,我想从地图中删除这些元素,然后继续下一个元素(即构建下一个集群)。
我怎样才能做到这一点并且仍然在正确的位置继续迭代?