Freigeben über


basic_string::erase

Entfernt ein Element oder einen Reihe von Elementen einer Zeichenfolge von einer angegebenen Position.

iterator erase(
    iterator _First, 
    iterator _Last
);
iterator erase(
    iterator _It
);
basic_string<CharType, Traits, Allocator>& erase(
    size_type _Pos = 0,
    size_type _Count = npos
);

Parameter

  • _First
    Ein Iterator, der die Position des ersten Elements im Bereich behandelt gelöscht.

  • _Last
    Ein Iterator, der die Position eine hinter dem letzten Element im Bereich behandelt gelöscht.

  • _It
    Ein Iterator, der die Position des Elements in der Zeichenfolge wird gelöscht.

  • _Pos
    Der Index des ersten Zeichens in der Zeichenfolge entfernt werden.

  • _Count
    Die Anzahl von Elementen, die entfernt, wenn so im Bereich des Zeichenfolgenanfang mit _Pos gibt.

Rückgabewert

Für die ersten beiden Memberfunktionen entferntem ein Iterator, der das erste Zeichen hinter dem letzten Zeichen behandelt, durch die Memberfunktion. Für die dritte Memberfunktion ein Verweis im Zeichenfolgenobjekt, von dem die Elemente gelöscht wurden.

Hinweise

Die dritte Memberfunktion gibt *this zurück.

Beispiel

// basic_string_erase.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( ) 
{
   using namespace std;

   // The 1st member function using a range demarcated
   // by iterators
   string str1 ( "Hello world" );
   basic_string <char>::iterator str1_Iter;
   cout << "The original string object str1 is: " 
        << str1 << "." << endl;
   str1_Iter = str1.erase ( str1.begin ( ) + 3 , str1.end ( ) - 1 );
   cout << "The first element after those removed is: "
        << *str1_Iter << "." << endl;
   cout << "The modified string object str1 is: " << str1 
           << "." << endl << endl;

   // The 2nd member function erasing a char pointed to 
   // by an iterator
   string str2 ( "Hello World" );
   basic_string <char>::iterator str2_Iter;
   cout << "The original string object str2 is: " << str2
        << "." << endl;
   str2_Iter = str2.erase ( str2.begin ( ) + 5 );
   cout << "The first element after those removed is: "
        << *str2_Iter << "." << endl;
   cout << "The modified string object str2 is: " << str2 
        << "." << endl << endl;

   // The 3rd member function erasing a number of chars 
   // after a char
   string str3 ( "Hello computer" ), str3m;
   basic_string <char>::iterator str3_Iter;
   cout << "The original string object str3 is: " 
        << str3 << "." << endl;
   str3m = str3.erase ( 6 , 8 );
   cout << "The modified string object str3m is: " 
        << str3m << "." << endl;
}
  

Anforderungen

Header: <Zeichenfolge>

Namespace: std

Siehe auch

Referenz

basic_string-Klasse