Condividi tramite


basic_string::erase

Rimuove un elemento o un intervallo di elementi in una stringa da una posizione specificata.

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

Parametri

  • _First
    Un iteratore destinato alla posizione del primo elemento nell'intervallo da cancellare.

  • _Last
    Un iteratore destinato alla posizione una dopo l'ultimo elemento nell'intervallo da cancellare.

  • _It
    Un iteratore destinato alla posizione degli elementi nella stringa da cancellare.

  • _Pos
    Indice del primo carattere della stringa da rimuovere.

  • _Count
    Il numero di elementi che verrà rimosso se esiste la stessa sequenza di stringhe a partire da _Pos.

Valore restituito

Per le prime due funzioni membro, un iteratore destinato al primo carattere dopo l'ultimo carattere rimosso dalla funzione membro. Per la terza funzione membro, un riferimento all'oggetto stringa da cui elementi sono stati eliminati.

Note

La terza funzione membro restituisce *this.

Esempio

// 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;
}
  

Requisiti

Intestazione: <string>

Spazio dei nomi: std

Vedere anche

Riferimenti

Classe basic_string