命名空间
变体
操作

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

来自 cppreference.cn
< cpp‎ | string‎ | basic_string
 
 
 
std::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) [编辑]