从std::multimap
中删除项目后,已经删除的项目的迭代器将失效,不能再继续使用。但是,其他未删除的项目的迭代器仍然可以继续使用。在删除项目后,如果需要继续使用迭代器,请确保迭代器指向的项目没有被删除。
如果需要删除多个项目,可以使用std::multimap::erase()
函数删除指定的项目,并返回指向下一个未删除项目的迭代器。
例如:
std::multimap<int, std::string> my_multimap;
// 添加一些项目到my_multimap中
// 删除第一个值为"apple"的项目
auto it = my_multimap.find(1);
if (it != my_multimap.end()) {
my_multimap.erase(it);
}
// 删除所有值为"banana"的项目
auto range = my_multimap.equal_range(2);
for (auto it = range.first; it != range.second; ++it) {
my_multimap.erase(it);
}
在删除项目后,如果需要继续使用迭代器,请确保迭代器指向的项目没有被删除。
领取专属 10元无门槛券
手把手带您无忧上云