std::basic_string<CharT,Traits,Allocator>::clear
来自 cppreference.cn
                    
                                        
                    < cpp | string | basic_string
                    
                                                            
                    | void clear(); | (C++11 起无异常抛出) (C++20 起为 constexpr) | |
移除字符串中所有字符,如同执行 erase(begin(), end())。
所有指针、引用和迭代器都将失效。
| 目录 | 
[编辑] 参数
(无)
[编辑] 返回值
(无)
[编辑] 注意
与 std::vector::clear 不同,C++ 标准并未明确要求此函数不改变 容量,但现有实现并未改变容量。这意味着它们不释放已分配的内存(另请参阅 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
[编辑] 参阅
| 移除字符 (public member function) | 


