我想要从beginIt到endIt擦除std :: map的元素.erase函数将迭代器返回到删除的最后一个元素后面的元素.不是它的结束吗?为什么擦除返回迭代器?
auto it = m_map.erase(beginIt, endIt);
Run Code Online (Sandbox Code Playgroud)
这是C++标准库对其所有容器采用的有用功能.
特别值得一提的是,当您删除受约束约束的一组元素并且您正在迭代整个容器时.显然,从容器中删除某些内容会使您传递的迭代器无效.返回下一个候选迭代器很有用.
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |