Espacios de nombres
Variantes
Acciones

std::basic_string::shrink_to_fit

De cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
void shrink_to_fit();
(desde C++11)
(hasta C++20)
constexprvoid shrink_to_fit();
(desde C++20)

Solicita la remoción de capacidad sin usar.

Es una solicitud no obligatoria para reducir la capacidad capacity() al tamaño size(). Depende de la implementación si la solicitud se satisface.

Si (y solamente si) ocurre reasignación de memoria, se invalidan todos los punteros, referencias e iteradores.

Contenido

[editar]Parámetros

(Ninguno)

[editar]Valor de retorno

(Ninguno)

[editar]Complejidad

(sin especificar)

(hasta C++17)

Lineal en el tamaño de la cadena

(desde C++17)

[editar]Ejemplo

#include <iostream>#include <string>   int main(){std::string s;std::cout<<"La capacidad al construir por defecto es "<< s.capacity()<<" y el tamano es "<< s.size()<<'\n';for(int i=0; i<42; i++) s.append(" 42 ");std::cout<<"La capacidad despues de un par de anadiduras es "<< s.capacity()<<" y el tamano es "<< s.size()<<'\n'; s.clear();std::cout<<"La capacidad despues de clear() es "<< s.capacity()<<" y el tamano es "<< s.size()<<'\n'; s.shrink_to_fit();std::cout<<"La capacidad despues de shrink_to_fit() es "<< s.capacity()<<" y el tamano es "<< s.size()<<'\n';}

Posible salida:

La capacidad al construir por defecto es 15 y el tamano es 0 La capacidad despues de un par de anadiduras 240 y el tamano es 168 La capacidad despues de clear() es 240 y el tamano es 0 La capacidad despues de shrink_to_fit() es 15 y el tamano es 0

[editar]Véase también

Devuelve el número de caracteres
(función miembro pública)[editar]
Devuelve el número de caracteres que pueden almacenarse en el almacenamiento asignado actual
(función miembro pública)[editar]
close