Compartir a través de


basic_string (Clase)

Las secuencias controladas por un objeto de clase de plantilla basic_string son la clase de cadena de C++ estándar y se suelen llamar “cadenas”, pero no se deben confundir con las cadenas de estilo C terminadas en null que se utilizan en toda la biblioteca estándar de C++. La cadena de C++ estándar es un contenedor que permite usar cadenas como tipos normales: por ejemplo, las operaciones de comparación y concatenación, los iteradores, los algoritmos STL y la copia y la asignación con la memoria administrada del asignador de clases. Si necesita convertir una cadena de C++ estándar en una cadena de estilo C terminada en null, utilice el miembrobasic_string::c_str.

template <class CharType, class Traits = char_traits<CharType>, class Allocator = allocator<CharType>> class basic_string;

Parámetros

  • CharType
    El tipo de datos de un carácter único que se almacenará en la cadena. La biblioteca estándar de C++ proporciona especializaciones de esta clase de plantilla, con las definiciones de tipo string para elementos de tipo char, wstring para wchar_t, u16string para char16_t y u32string para char32_t.

  • Traits
    La clase Traits describe diversas propiedades importantes de los elementos CharType de una especialización de basic_string. El valor predeterminado es char_traits<CharType>.

  • Allocator
    El tipo que representa el objeto asignador almacenado que encapsula los detalles sobre la asignación y la desasignación de memoria de la cadena. El valor predeterminado es allocator<CharType>.

Constructores

basic_string

Crea una cadena que está vacía, que inicializan caracteres específicos o que es una copia total o parcial de algún otro objeto de cadena o alguna otra cadena de C.

Typedefs

allocator_type

Tipo que representa la clase allocator para un objeto de cadena.

const_iterator

Tipo que proporciona un iterador de acceso aleatorio que puede acceder a un elemento const de la cadena y leerlo.

const_pointer

Tipo que proporciona un puntero a un elemento const de una cadena.

const_reference

Tipo que proporciona una referencia a un elemento const almacenado en una cadena para leer y realizar operaciones de const.

const_reverse_iterator

Tipo que proporciona un iterador de acceso aleatorio que puede leer cualquier elemento const de la cadena.

difference_type

Tipo que proporciona la diferencia entre dos iteradores que hacen referencia a elementos de la misma cadena.

iterator

Tipo que proporciona un iterador de acceso aleatorio que puede leer o modificar cualquier elemento de una cadena.

npos

Un valor integral sin signo que se inicializa en –1 e indica “no se encontró” o “todos los caracteres restantes” cuando se produce un error en una función de búsqueda.

puntero

Tipo que proporciona un puntero a un elemento de carácter de una cadena o una matriz de caracteres.

reference

Tipo que proporciona una referencia a un elemento almacenado en una cadena.

reverse_iterator

Tipo que proporciona un iterador de acceso aleatorio que puede leer o modificar un elemento de una cadena invertida.

size_type

Tipo entero sin signo para el número de elementos de una cadena.

traits_type

Tipo de los rasgos de carácter de los elementos almacenados en una cadena.

value_type

Tipo que representa el tipo de caracteres que se almacenan en una cadena.

Funciones miembro

append

Agrega caracteres al final de una cadena.

assign

Asigna nuevos valores de caracteres al contenido de una cadena.

at

Devuelve una referencia al elemento situado en una ubicación especificada de la cadena.

back

begin

Devuelve un iterador que dirige al primer elemento de la cadena.

c_str

Convierte el contenido de una cadena en una cadena de estilo C terminada en null.

capacity

Devuelve el número máximo de elementos que podrían almacenarse en una cadena sin aumentar la asignación de memoria de la cadena.

cbegin

Devuelve un iterador constante que dirige al primer elemento de la cadena.

cend

Devuelve un iterador constante que dirige a la ubicación que sigue al último elemento de una cadena.

clear

Borra todos los elementos de una cadena.

compare

Compara una cadena con una cadena especificada para determinar si las dos cadenas son iguales o si una es lexicográficamente menor que la otra.

copy

Copia, como máximo, un número especificado de caracteres de una posición indexada de una cadena de origen a una matriz de caracteres de destino. Desusado. Utilice basic_string::_Copy_s en su lugar.

crbegin

Devuelve un iterador constante que dirige al primer elemento de una cadena invertida.

crend

Devuelve un iterador constante que dirige a la ubicación siguiente al último elemento de una cadena invertida.

_Copy_s

Copia, como máximo, un número especificado de caracteres de una posición indexada de una cadena de origen a una matriz de caracteres de destino.

datos

Convierte el contenido de una cadena en una matriz de caracteres.

empty

Comprueba si la cadena contiene caracteres.

end

Devuelve un iterador que dirige a la ubicación siguiente al último elemento de una cadena.

erase

Quita un elemento o un intervalo de elementos de una cadena de una posición especificada.

find

Busca hacia delante en una cadena la primera aparición de una subcadena que coincide con una secuencia especificada de caracteres.

find_first_not_of

Busca en una cadena el primer carácter que no es ningún elemento de una cadena especificada.

find_first_of

Busca en una cadena el primer carácter que coincide con algún elemento de una cadena especificada.

find_last_not_of

Busca en una cadena el último carácter que no es ningún elemento de una cadena especificada.

find_last_of

Busca en una cadena el último carácter que es un elemento de una cadena especificada.

front

Devuelve una referencia al primer elemento de una cadena.

get_allocator

Devuelve una copia del objeto allocator que se usa para construir la cadena.

insert

Inserta un elemento, varios elementos o un intervalo de elementos en la cadena en una posición especificada.

length

Devuelve el número actual de elementos de una cadena.

max_size

Devuelve el número máximo de caracteres que puede contener una cadena.

pop_back

Borra el último elemento de la cadena.

push_back

Agrega un elemento al final de la cadena.

rbegin

Devuelve un iterador al primer elemento de una cadena invertida.

rend

Devuelve un iterador que apunta al lugar inmediatamente posterior al último elemento de una cadena invertida.

replace

Reemplaza los elementos de una cadena situados en la posición especificada por los caracteres especificados o los caracteres copiados de otros intervalos, cadenas o cadenas de C.

reserve

Configura la capacidad de la cadena con un número que es, al menos, tan alto como un número especificado.

resize

Especifica un nuevo tamaño para una cadena y anexa o borra elementos según sea necesario.

rfind

Busca hacia atrás en una cadena la primera aparición de una subcadena que coincide con una secuencia especificada de caracteres.

shrink_to_fit

Descarta el exceso de capacidad de la cadena.

size

Devuelve el número actual de elementos de una cadena.

substr

Copia una subcadena de, como máximo, un número de caracteres de una cadena, empezando desde la posición especificada.

swap

Intercambie el contenido de dos cadenas.

Operadores

operator+=

Anexa caracteres a una cadena.

operador =

Asigna nuevos valores de caracteres al contenido de una cadena.

operator[]

Proporciona una referencia al carácter de una cadena que tiene el índice especificado.

Comentarios

Si se pide a una función que genere una secuencia de más de max_size elementos, la función informa de un error de longitud lanzando un objeto del tipo length_error.

Las referencias, los punteros y los iteradores que designan los elementos de la secuencia controlada pueden perder su validez después de que se realice una llamada a una función que modifique la secuencia controlada o después de la primera llamada a una función miembro no const.

Requisitos

Encabezado: <string>

Espacio de nombres: std

Vea también

Referencia

<string>

Seguridad para subprocesos en la biblioteca estándar de C++