std::basic_string<CharT,Traits,Allocator>:: clear
| Classes | ||||
|
(C++17)
|
||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
void
clear
(
)
;
|
(noexcept начиная с C++11)
(constexpr начиная с C++20) |
|
Удаляет все символы из строки, как если бы выполнялся вызов erase ( begin ( ) , end ( ) ) .
Все указатели, ссылки и итераторы становятся недействительными.
Содержание |
Параметры
(нет)
Возвращаемое значение
(нет)
Примечания
В отличие от std::vector::clear , стандарт C++ явно не требует, чтобы capacity оставался неизменным после вызова этой функции, однако существующие реализации не изменяют capacity. Это означает, что они не освобождают выделенную память (см. также shrink_to_fit ).
Сложность
Линейно по размеру строки, хотя существующие реализации работают за константное время.
Пример
#include <cassert> #include <iostream> #include <string> int main() { std::string s{"Exemplar"}; std::string::size_type const capacity = s.capacity(); s.clear(); assert(s.empty()); assert(s.size() == 0); std::cout << std::boolalpha << (s.capacity() == capacity) << '\n'; }
Возможный вывод:
true
Смотрите также
|
удаляет символы
(публичная функция-член) |