24 Strings library [strings]

24.3 String classes [string.classes]

24.3.2 Class template basic_­string [basic.string]

24.3.2.6 basic_­string modifiers [string.modifiers]

24.3.2.6.5 basic_­string​::​erase [string.erase]

basic_string& erase(size_type pos = 0, size_type n = npos);

Throws: out_­of_­range если pos > size().

Effects: Определяет эффективную длину xlen удаляемой строки как меньшее из значений n и size() - pos.

Затем функция заменяет строку, управляемую *this с помощью строки длины size() - xlen , первые pos элементы которой являются копией начальных элементов исходной строки, которой управляет *this, а остальные элементы которой являются копией элементов исходной строки, управляемой *this начиная с позиции pos + xlen.

Returns: *this.

iterator erase(const_iterator p);

Throws: Ничего такого.

Effects: Удаляет символ, на который ссылается p.

Returns: Итератор, который указывает на элемент, следующий непосредственно за p стираемым элементом. Если такого элемента не существует, end() возвращается.

iterator erase(const_iterator first, const_iterator last);

Requires: first и last являются действительными итераторами *this, определяющими диапазон [first, last).

Throws: Ничего такого.

Effects: Удаляет символы в диапазоне [first, last).

Returns: Итератор, который указывает на элемент, на который указывает до last удаления других элементов. Если такого элемента не существует, end() возвращается.

void pop_back();

Requires: !empty().

Throws: Ничего такого.

Effects: Эквивалентно erase(size() - 1, 1).