消去()関数

前の記事では、ここでコンテナとそれに関連するコンテナの順序を含め、コンテナ内の機能素子いるを削除する方法を、コンテナに要素を追加する方法を述べました。

それは次のように基本的な使用法があり、この消去機能であります:

c.erase(p)は------------------------------ C、Pの必須ポイントから指定された要素イテレータpを削除しますc)は、(実際の要素、等しくないc.endあります

Cから表されるBおよびEイテレータの範囲c.erase(B、E)----------------------------削除要素は、電子を返します。

次のように具体的な使用方法は次のとおりです。


vector<string> 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之间的元素

第2の使用のために、あなたはそれを拡張することができます。

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所指,因为第三种用法返回的就是第二个迭代器所指位置

確かに、消去機能を動作させるために使用されていますストリング次のように関数のプロトタイプは次のとおりです。

(1)文字列および消去(size_tの POS = 0、size_tのN = NPOなど); そのような消去(0,1)として開始POSから削除n文字、最初の文字を削除することである
(2)イテレータ消去(反復子位置 ;) 削除を文字位置(位置文字列型イテレータ)に
(3)ERASEイテレータ(最初のイテレータ、イテレータ最後)の間で最後に最初の文字を削除することから(最初と最後のイテレータです)

string str ("This is an example phrase.");
str.erase (10,8);
公開された77元の記事 ウォン称賛19 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_43488547/article/details/100113385