erase

Материал из cppreference.com
Перейти к: навигация, поиск

Синтаксис:

    #include <string>
    iterator erase( iterator loc );
    iterator erase( iterator start, iterator end );
    basic_string& erase( size_type index = 0, size_type num = npos );

Функция erase() выполняет следующие действия:

  • удаляет символ, на который указывает указатель loc, возвращая итератор на символ, следующий за удаленным,
  • удаляет все символы между start и end, возвращая итератор на следующий символ (не на end),
  • удаляет количество num символов, начиная с индекса index и возвращает измененную строку. Параметры index и num имеют значения по умолчанию, поэтому функция erase() может быть вызвана только с параметром index, чтобы удалить все символы, стоящие после индекса index, или же функция может быть вызвана без аргументов, чтобы стереть все символы.

Например:

  string s("So, you like donuts, eh? Well, have all the donuts in the world!");
  cout << "The original string is '" << s << "'" << endl;
 
  s.erase( 50, 13 );
  cout << "Now the string is '" << s << "'" << endl;
  s.erase( 24 );
  cout << "Now the string is '" << s << "'" << endl;
  s.erase();
  cout << "Now the string is '" << s << "'" << endl;

Код выводит:

  The original string is 'So, you like donuts, eh? Well, have all the donuts in the world!'
  Now the string is 'So, you like donuts, eh? Well, have all the donuts!'
  Now the string is 'So, you like donuts, eh?'
  Now the string is ''

erase() работает за линейное время.

Смотрите также: insert

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
На других языках