Поделиться через


basic_string::erase

Удаляет элемент или диапазон элементов в строке начиная с указанной позиции.

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

Параметры

  • _First
    Итератор слишком позицию первого элемента в диапазоне, стертым.

  • _Last
    Итератор слишком позиция одно за последним элементом в диапазоне, стертым.

  • _It
    Итератор слишком положение элемента в строке, стертым.

  • _Pos
    Индекс первого символа в строке, который необходимо удалить.

  • _Count
    Число элементов, которые будут удалены, если любое число в диапазоне от начала строки с _Pos.

Возвращаемое значение

Для первых 2 функций-членов итератор слишком первый символ после последнего символа удалил функцией-членом. Для третьего функцию-член, ссылку на строковый объект, из которого элементы были стерты.

Заметки

Третий функцию-член возвращает *this.

Пример

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

Требования

Заголовок:<string>

Пространство имен: std

См. также

Ссылки

Класс basic_string