Plantilla string

La plantilla de clase string almacena y manipula secuencias de variables tipo char.

Funcionamiento

Imagina que con string generamos un arreglo de tamaño dinámico, es decir, cuyo tamaño no tenemos que declarar al inicio, y las variables que almacenan son de tipo char, de esta forma podemos escribir palabras fácilmente.

Los elementos en una plantilla tipo string son almacenados de manera contigua, de hecho, la palabra string se traduce al español como cadena. Imagina esta plantilla, como una cadena de caracteres.

Eficiencia

La eficiencia de la plantilla string es muy aproximada a la de la clase vector.

Para acceso aleatorio a un elemento constante \(O(l)\)
Insertar o remover un elemento al final del contenedor constante \(O(l)\)
Insertar o remover un elemento lineal en función de la distancia a la que esté del final \(O(n)\)

Funciones miembro

Función Definición
(constructor) Construye un elemento string
Operador = Asigna valores al string
get_allocator Regresa el asignador asociado
Acceso a elementos  
at Accede al carácter especificado revisando límites
Operadores [ ] Accede al carácter especificado
front Accede al primer carácter
back Accede al último carácter
data Regresa un puntero al primer carácter del string
c_str Devuelve una versión no modificable tipo arreglo del string para C estándar
Iteradores  
begin cbegin(C++11) Devuelve un iterador al principio de la cadena
end cend(C++11) Devuelve un iterador al final de la cadena
rbegin crbegin(C++11) Devuelve un iterador reverso al principio de la cadena
rend crend(C++11) Devuelve un iterador reverso al final de la cadena
Capacidad  
empty Devuelve verdadero si la cadena está vacía
size length Devuelve el número de caracteres
max_size Regresa el máximo número de caracteres posibles
reserve Reserva almacenamiento
capacity Regresa el número de caracteres que pueden ser almacenados en la memoria actual reservada
shrink_to_fit(C++11) Reduce el uso de memoria liberando la memoria no utilizada
Operaciones  
clear Limpia los contenidos
insert Inserta caracteres
erase Borra caracteres
push_back Agrega un carácter al final de la cadena
pop_back(C++11) Borra el último carácter
append Agrega caracteres al final de la cadena
Operador += Agrega caracteres al final de la cadena
compare Compara dos cadenas
replace Reemplaza una parte especificada de la cadena
substr Devuelve una sub cadena
copy Copia caracteres
resize Cambia la cantidad de caracteres almacenados
swap Intercambia contenidos de dos cadenas
Búsqueda  
find Encuentra caracteres en la cadena
rfind Encuentra la última coincidencia de una subcadena
find_first_of Encuentra la primera coincidencia de caracteres
find_first_not_of Encuentra la primera ausencia de caracteres
find_last_of Encuentra la última coincidencia de caracteres
find_last_not_of Encuentra la última ausencia de caracteres

Funciones no miembro

Función Definición
Operadores ==, !=, <, <=, >, >= Compara lexicográficamente dos cadenas
Operador + Concatena dos cadenas o una cadena y una variable char
Entrada/salida  
Operador << Ejecuta una salida de datos de una cadena
Operador >> Ejecuta una entrada de datos a una cadena
Conversiones numéricas  
stoi(C++11) stol(C++11) stoll(C++11) Convierte una cadena en un entero signado
stoul(C++11) stoull(C++11) Convierte una cadena en un entero no signado
stof(C++11) stod(C++11) stold(C++11) Convierte una cadena a un número con punto decimal float
to_string(C++11) Convierte un entero o decimal a tipo string

Ejemplos

Asignaciones y entrada/salida

Acceso a elementos

Capacidad

La salida anterior puede variar en la línea 5, según cada computadora.

Operaciones

Búsquedas

Funciones no miembro

No olvides probar los programas anteriores en tu IDE favorito, experimenta con ellos.

Cita esta página

Include Poetry - Code. (2020, 4 de enero). Plantilla string. Obtenido de https://www.include-poetry.com/Code/C++/Estructuras/STL/String/

/* Comentarios */