首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::basic_string::clear

void clear();

从字符串中删除所有字符,就好像通过执行erase(begin(), end())将不会释放分配的内存,从而有效地保留capacity字符串不变。

所有指针、引用和迭代器都无效。

参数

%280%29

返回值

%280%29

注记

不像std::vector::clear,C++标准并不明确要求capacity此函数不变,但现有实现不会更改容量。

例外

(none)

(until C++11)

noexcept specification: noexcept

(since C++11)

复杂性

在字符串的大小上是线性的。

二次

代码语言:javascript
复制
#include <cassert>
#include <string>
 
int main()
{
    std::string s{ "Exemplar" };
    std::string::size_type const capacity = s.capacity();
 
    s.clear();
    assert(capacity == s.capacity());
    assert(s.empty());
    assert(0 == s.size());
}

二次

另见

erase

removes characters (public member function)

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券