C++ set erase()用法及代码示例 您所在的位置:网站首页 list的erase返回值 C++ set erase()用法及代码示例

C++ set erase()用法及代码示例

#C++ set erase()用法及代码示例| 来源: 网络整理| 查看: 265

C++ set erase() 函数用于从集合容器中删除与给定键关联的单个元素或一系列元素 ([first, last))。因此,大小将因删除的元素数量而减少。

用法 void erase (iterator position); //until C++ 11 size_type erase (const value_type& val); //until C++ 11 void erase (iterator first, iterator last); //until C++ 11 iterator erase (const_iterator position); //since C++ 11 size_type erase (const value_type& val); //since C++ 11 iterator erase (const_iterator first, const_iterator last); //since C++ 11 参数

position:iterator 指向要从集合中删除的单个元素。

val:要从集合中删除的值。

first:要擦除的范围的开始。

last:要擦除的范围结束。

返回值

它返回一个指向已删除元素的下一个元素的迭代器或返回已删除元素的数量。

复杂度

擦除(位置):摊销常数。

擦除(val):容器大小的对数。

擦除(第一个,最后一个):第一个和最后一个之间的距离是线性的。

迭代器有效性

迭代器、引用和指向被函数删除的元素的指针无效。

所有其他迭代器、指针和引用保持其有效性。

数据竞争

容器被修改。

删除的元素被修改。尽管同时访问其他元素是安全的,但在容器中迭代范围并不安全。

异常安全

该函数不会抛出异常。

如果指定了无效的范围或位置,则会导致未定义的行为。

例子1

让我们看看通过迭代器擦除元素的简单示例。

#include #include using namespace std; int main () { set myset; set::iterator it; myset = {10,20,30}; cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有