std::basic_string<CharT,Traits,Allocator>::clear
来自cppreference.com
<tbody>
</tbody>
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_type const capacity = s.capacity();
s.clear();
assert(s.empty());
assert(s.size() == 0);
std::cout << std::boolalpha << (s.capacity() == capacity) << '\n';
}
可能的输出:
true
参阅
| 移除字符 (公开成员函数) |