命名空间
变体
操作

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

来自 cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
成员函数
元素访问
迭代器
容量
修饰符
basic_string::clear
搜索
操作
常量
非成员函数
I/O
比较
(直到 C++20)(直到 C++20)(直到 C++20)(直到 C++20)(直到 C++20)(C++20)
数值转换
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
字面量
辅助类
推导指南 (C++17)

 
void clear();
(自 C++11 起无异常)
(自 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

[编辑] 另请参阅

删除字符
(公共成员函数) [编辑]