我想要达到的目的是:我有一个unordered_map<int, list<int>::iterator> mp和一个list<int> lst. 如何将元素的迭代器存储在lst. 后来,通过使用 map 中的迭代器,我可以操作(例如,擦除)列表中的元素。(假设没有迭代器失效问题)以下代码段不起作用:
unordered_map<int, list<int>::const_iterator> mp;
list<int> lst;
lst.push_back(1);
mp[1]=lst.crbegin(); //error here
lst.erase(mp[1]);
...
我也尝试存储原始指针,但我无法使用原始指针擦除列表中的元素。我想知道实现我的目的的最佳方式是什么。