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