std::basic_string::shrink_to_fit

来自cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
void shrink_to_fit();
(C++11 起)

请求移除未使用的容量。

这是减少 capacity()size() 的非强制请求。是否满足请求取依赖于实现。

若(且唯若)发生重分配,则非法化所有指针、引用和迭代器。

目录

[编辑] 参数

(无)

[编辑] 返回值

(无)

[编辑] 复杂度

(未指定) (C++17 前)
与 string 大小成线性 (C++17 起)

[编辑] 示例

#include <iostream>
#include <string>
 
int main()
{
    std::string s;
    std::cout << "Default-constructed capacity is " << s.capacity() << '\n';
    s.resize(100);
    std::cout << "Capacity of a 100-element string is " << s.capacity() << '\n';
    s.clear();
    std::cout << "Capacity after clear() is " << s.capacity() << '\n';
    s.shrink_to_fit();
    std::cout << "Capacity after shrink_to_fit() is " << s.capacity() << '\n';
}

可能的输出:

Default-constructed capacity is 0
Capacity of a 100-element string is 100
Capacity after clear() is 100
Capacity after shrink_to_fit() is 0

[编辑] 参阅

返回字符数
(公开成员函数) [编辑]
返回当前对象分配的存储空间能保存的字符数量
(公开成员函数) [编辑]