Пространства имён
Варианты
Действия

std::basic_string<CharT,Traits,Allocator>::clear

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-элементы
Доступ к элементам
Итераторы
Ёмкость
Операции
basic_string::clear
Поиск
Константы
Правила вывода(C++17)
Функции, не являющиеся элементами
Ввод/Вывод
Сравнение
(до C++20)(до C++20)(до C++20)(до C++20)(до C++20)(C++20)
Числовые преобразования
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Вспомогательные классы
 
void clear();
(до C++11)
void clear()noexcept;
(начиная с C++11)
(до C++20)
constexprvoid clear()noexcept;
(начиная с C++20)

Удаляет все символы из строки, как если бы выполнилось erase(begin(), end()).

Все указатели, ссылки и итераторы становятся недействительными.

Содержание

[править]Параметры

(нет)

[править]Возвращаемое значение

(нет)

[править]Примечание

В отличие от std::vector::clear, стандарт C++ явно не требует, чтобы эта функция не изменяла capacity, но существующие реализации не меняют ёмкость. Это означает, что они не освобождают выделенную память (смотрите также shrink_to_fit).

[править]Сложность

Линейная по размеру строки, хотя существующие реализации работают за константное время.

[править]Пример

#include <cassert>#include <string>   int main(){std::string s{"Exemplar"}; std::string::size_typeconst capacity = s.capacity();   s.clear();assert(s.capacity()== capacity);// <- не гарантированоassert(s.empty());assert(s.size()==0);}

[править]Смотрите также

удаляет символы
(public функция-элемент)[править]
close