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

来自cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
void clear();
(C++11 起为 noexcept)
(C++20 起为 constexpr)

如同通过执行 erase(begin(), end()) 从字符串中移除所有字符。

使所有指针、引用及迭代器失效。

目录

[编辑]参数

(无)

[编辑]返回值

(无)

[编辑]注解

不同于 std::vector::clear,C++ 标准未明确要求此函数不更改 capacity,但既存实现都不更改容量。这意味着它们不释放分配的内存(参阅 shrink_to_fit)。

[编辑]复杂度

与字符串的大小成线性,尽管既存实现在常数时间内操作。

[编辑]示例

#include <cassert>#include <iostream>#include <string>   int main(){std::string s{"Exemplar"}; std::string::size_typeconst capacity = s.capacity();   s.clear();assert(s.empty());assert(s.size()==0);std::cout<<std::boolalpha<<(s.capacity()== capacity)<<'\n';}

可能的输出:

true

[编辑]参阅

移除字符
(公开成员函数)[编辑]
close