unordered_multiset erase()函数在C++ STL中的使用
unordered_multiset::erase()函数是C++ STL中的一个内置函数,用于删除单个元素或具有确定值的所有元素或某个范围内(从起始位置(包括)到结束位置(不包括)的)元素。执行此操作会减小容器的大小,减去已删除的元素数量。
语法 :
- unordered_multiset_name.erase(iterator position)
- unordered_multiset_name.erase(iterator start, iterator end)
- unordered_multiset_name.erase(key_value)
参数 : 该函数有三个版本。
- 第一个版本以迭代器作为参数,删除该位置上存在的元素。
- 第二个版本以两个迭代器(如start和end)作为参数,删除范围[start, end)内的所有元素。
- 第三个版本以键值作为参数,删除多个集合中的所有具有该值的元素。
返回值 : 如上面语法中所示,函数的第一和第二个版本会返回一个迭代器,其紧随被删除的最后一个元素。第三个版本将返回删除的元素数量。
下面的程序说明了unordered_multiset::erase()函数:
程序1 :
程序2 :