10
我想擦除當前在基於範圍的for循環內使用的容器中的元素。這會導致未定義的行爲?或者如果我沒有撥打erase()
,那麼在erase()
之後element
的下一個值應該是下一個元素應該是什麼?在基於範圍的for循環內擦除容器中的元素
實施例:
std::map<int, int> someMap;
/* Fill in someMap */
for (auto& element : someMap)
{
/* ... */
if (/* Some condition */)
someMap.erase(element.first);
}