C++ 标准库 - <map>

C++ std::map::erase 可按键删除,返回被删个数(0 或 1);也可按迭代器删除单个元素。

原型

size_type erase(const key_type& k);
iterator erase(iterator pos);

参数

  • k:键。或指向要删元素的迭代器。

返回值

按键删除时返回删除个数;按迭代器删除时返回下一位置。

示例

#include <iostream>
#include <map>
#include <string>

int main() {
    std::map<std::string, int> m{{"Ada", 95}, {"Lin", 88}};
    m.erase("Ada");
    std::cout << m.size() << " " << m.count("Ada") << "\n";
    return 0;
}

输出:

1 0

注意事项

遍历时删除当前元素,应使用 it = m.erase(it),不要在循环里保存过期迭代器。

本头文件到此结束。可返回map 总览或进入set。