网站名称及网址,wordpress 作品展,wordpress切换主题,前端网站开发流程前面的文章中提到过如何向容器中添加元素#xff0c;这里介绍一个如何删除容器中元素的函数#xff0c;包括顺序容器和关联容器。 就是这个erase函数#xff0c;基本用法如下#xff1a;
c.erase(p)------------------------------从c中删除迭代器p指定的元素#xff0c;… 前面的文章中提到过如何向容器中添加元素这里介绍一个如何删除容器中元素的函数包括顺序容器和关联容器。 就是这个erase函数基本用法如下
c.erase(p)------------------------------从c中删除迭代器p指定的元素p必须指向c中的一个真实元素不能等于c.end()
c.erase(b,e)----------------------------从c中删除迭代器对b和e所表示的范围中的元素返回e
具体用法如下
vectorstring e {a,b,c,d,e,f,g};e.erase(c); //删除字符串“c”auto it e.end()-1; //.end()指向末尾的后一个元素因此需要-1指向末尾元素 e.erase(it); //删除末尾元素“e”auto it2 e.begin()1;auto it3 e.end()-2;e.erase(it2,it3); //删除it2到it3之间的元素
对于第二种用法可以拓展一下
auto it a.begin();auto it2 a.find(c); //it2指向“c”所在位置auto it3 a.erase(it,it2); //删除it到it2之间的所有元素即“a”和“b”a.erase(it3); //此时删除的是“c”,即先前it2所指因为第三种用法返回的就是第二个迭代器所指位置
实际上erase函数是用来操作string的函数原型如下
1string erase ( size_t pos 0, size_t n npos );删除从pos开始的n个字符比如erase(0,1)就是删除第一个字符 2iterator erase ( iterator position );删除position处的一个字符(position是个string类型的迭代器) 3iterator erase ( iterator first, iterator last );删除从first到last之间的字符first和last都是迭代器
第二种第三种就是上面操作容器的方式第一种用法如下
string str (This is an example phrase.);str.erase (10,8);
注第一个参数表示的是下标值不是第10个