C++ Unordered_set 库 - erase
描述
它从 unordered_set 容器中删除单个元素或一系列元素。
声明
以下是 std::unordered_set::erase 的声明。
C++11
iterator erase ( const_iterator position );
参数
position − 表示单个元素的位置。
k − K 是要删除的元素的值。
args − 这些参数传递给构造函数。
返回值
它返回的成员类型迭代器是一个前向迭代器类型。
异常
如果任何元素比较对象抛出异常,则抛出异常。
请注意,无效的参数会导致未定义的行为。
时间复杂度
固定的时间。
示例
以下示例显示了 std::unordered_set::erase 的用法。
#include <iostream> #include <string> #include <unordered_set> int main () { std::unordered_set<std::string> myset = {"USA","Canada","France","UK","Japan","Germany","Italy"}; myset.erase ( myset.begin() ); myset.erase ( "France" ); myset.erase ( myset.find("Japan"), myset.end() ); std::cout << "myset contains:"; for ( const std::string& x: myset ) std::cout << " " << x; std::cout << std::endl; return 0; }
让我们编译并运行上面的程序,这将产生以下结果 −
myset contains: Canada UK Italy