Cadena (C++)

string  es una clase con métodos y variables para organizar el trabajo con cadenas en el lenguaje de programación C++ . Está incluido en la biblioteca estándar de C++ . El nombre se deriva del nombre del tipo de datos de cadena ( cadena en inglés  ; del  inglés  -  "cadena"). C++ y su predecesor, el lenguaje de programación C , no tienen soporte integrado para el tipo de datos de cadena, sino que utilizan una matriz de caracteres. string administra cadenas, al igual que string.h en C. string utiliza un único objeto de cadena para organizar el trabajo con cadenas. Como parte de la biblioteca estándar de C++, estos objetos también forman parte del espacio de nombres estándar, std .

Ejemplo

El programa más simple " ¡Hola, mundo!" ' (utilizando la biblioteca iostream) se puede escribir así:

#incluir <iostream> #incluir <cadena> utilizando el espacio de nombres estándar ; // en C: #incluye <cadena.h> int principal () { cadena str = "¡Hola, mundo!" ; cout << cadena << endl ; // en C: pone(cadena); devolver 0 ; }

Tipos utilizados

Tipo de Descripción
tipo de valor carbonizarse
rasgos_tipo caracteres_característicos<carácter>
tipo_de_asignador asignador<char>
referencia carbonizarse&
const_reference carácter constante
puntero carbonizarse*
puntero_const carácter constante*
iterador un iterador de acceso aleatorio a char (convertible a const_iterator)
const_iterador un iterador de acceso aleatorio a const char
iterador_inverso iterador_inverso<iterador>
const_reverse_iterator iterador_inverso<iterador_const>
diferencia_tipo ptrdiff_t
tipo de letra talla_t

Métodos

Constructor

funcion publica

string();

Crea una cadena vacía [1] .

string(const string& str);

Copiar constructor [1] .

string(const string& str, size_t pos, size_t len = npos);

Copie el constructor con el desplazamiento y la longitud especificada de la cadena de lectura [1] .

string(const char* s);

Un constructor que lleva un puntero a una cadena de caracteres [1] .

string(const char* s, size_t n);

Un constructor que lleva un puntero a una cadena de caracteres con un límite en la longitud de la cadena de lectura [1] .

string(size_t n, char c);

Un constructor que llena n celdas con un carácter [1] .

template <class InputIterator> string(InputIterator first, InputIterator last);

Un constructor que copia una secuencia de caracteres en el rango [1] .

string(initializer_list<char> il);

Un constructor que copia la lista de inicialización [1] .

string(string&& str) noexcept;

Un constructor que recibe el contenido de la cadena [1] .

Destructor

String destructor (public member function)

Operador de asignación

string& operator= (const string& str);

Un operador que implementa una asignación a una variable de tipo string[2] .

string& operator= (const char* s);

Un operador que implementa la asignación de un puntero a una cadena [2] .

string& operator= (char c);

Un operador que implementa una asignación a una variable de tipo char[2] .

string& operator= (initializer_list<char> il);

Un operador que implementa una asignación a una lista de inicialización de tipos char[2] .

string& operator= (string&& str) noexcept;

Mover operador[ ambigüedad ] contenido de la variable dentro del valor izquierdo [2] .

Iteradores

begin()

Devuelve un iterador con el primer elemento [3] .

end()

Devuelve un iterador con el último elemento [4] .

rbegin()

Devuelve un iterador con el último elemento, pero en orden inverso (final a inicio) [5] .

rend()

Devuelve un iterador con el primer elemento, pero en orden inverso (final a inicio) [6] .

cbegin()

Devuelve un iterador const con el primer elemento [3] .

cend()

Devuelve un iterador const con el último elemento [4] .

crbegin()

Devuelve un iterador constante con el último elemento, pero en orden inverso (final a inicio) [5] .

crend()

Devuelve un iterador constante con el primer elemento, pero en orden inverso (final a inicio) [6] .

Métodos

size_t size() const noexcept

Devuelve el número actual de caracteres en la cadena [7] .

size_t length() const noexcept

Devuelve el número actual de caracteres en la cadena [7] .

size_t max_size() const noexcept

Devuelve la longitud máxima posible de una cadena [8] .

void resize(size_t n);

Cambia el tamaño de la longitud de la cadena [9] .

void resize(size_t n, char c);

Cambia el tamaño de la longitud de una cadena y rellena la cadena con el carácter especificado [9] .

size_t capacity() const noexcept

Devuelve la longitud de la cadena de memoria asignada [10] .

void reserve(size_t n = 0)

Reserva memoria para n caracteres [11] .

void clear() noexcept

Borra la cadena [12] .

bool empty() const noexcept

Devuelve un indicador booleano sobre si la cadena [13] está vacía .

shrink_to_fit()

Elementos de acceso

char& operator[] (size_t pos)

Devuelve el carácter en el índice de la cadena de 0 a size() - 1[14] .

const char& operator[] (size_t pos) const

Devuelve el carácter constante en el índice de la cadena de 0 a size() - 1[14] .

char& at (size_t pos)

Devuelve una referencia al símbolo especificado en pos[15] .

const char& at (size_t pos) const

Devuelve una referencia constante al símbolo especificado en pos[15] .

char& back()

Devuelve una referencia al último carácter de la cadena [16] .

const char& back() const

Devuelve una referencia constante al último carácter de una cadena [16] .

char& front()

Devuelve una referencia al primer carácter de la cadena [17] .

const char& front() const

Devuelve una referencia constante al primer carácter de la cadena [17] .

Modificadores

string& operator+= (const string& str);

Concatenar con cadena [18] .

string& operator+= (const char* s);

Concatenar con cadena [18] .

string& operator+= (char c);

Concatenar con cadena [18] .

string& operator+= (initializer_list<char> il);

Concatenar con cadena [18] .

string& append (const string& str);

Concatenar con cadena [19] .

string& append (const string& str, size_t subpos, size_t sublen);

Concatenar con cadena [19] .

string& append (const char* s);

Concatenar con cadena [19] .

string& append (const char* s, size_t n);

Concatenar con cadena [19] .

string& append (size_t n, char c);

Concatenar con cadena [19] .

template <class InputIterator> string& append (InputIterator first, InputIterator last);

Concatenar con cadena [19] .

string& append (initializer_list<char> il);

Concatenar con cadena [19] .

void push_back (char c);

Agregue un carácter al final de la cadena [20] .

string& assign (const string& str);

Establezca un nuevo valor para la cadena [21] .

string& assign (const string& str, size_t subpos, size_t sublen);

Establezca un nuevo valor para la cadena [21] .

string& assign (const char* s);

Establezca un nuevo valor para la cadena [21] .

string& assign (const char* s, size_t n);

Establezca un nuevo valor para la cadena [21] .

string& assign (size_t n, char c);

Establezca un nuevo valor para la cadena [21] .

template <class InputIterator> string& assign (InputIterator first, InputIterator last);

Establezca un nuevo valor para la cadena [21] .

string& assign (initializer_list<char> il);

Establezca un nuevo valor para la cadena [21] .

string& assign (string&& str) noexcept;

Establezca un nuevo valor para la cadena [21] .

string& insert (size_t pos, const string& str);

Inserta el carácter hasta la posición especificada en pos[22] .

string& insert (size_t pos, const string& str, size_t subpos, size_t sublen);

Inserta el carácter hasta la posición especificada en pos[22] .

string& insert (size_t pos, const char* s);

Inserta el carácter hasta la posición especificada en pos[22] .

string& insert (size_t pos, const char* s, size_t n);

Inserta el carácter hasta la posición especificada en pos[22] .

string& insert (size_t pos, size_t n, char c);

Inserta el carácter hasta la posición especificada en pos[22] .

void insert (iterator p, size_t n, char c);

Inserta el carácter hasta la posición especificada en pos[22] .

iterator insert (iterator p, char c);

Inserta el carácter hasta la posición especificada en pos[22] .

template <class InputIterator> void insert (iterator p, InputIterator first, InputIterator last);

Inserta el carácter hasta la posición especificada en pos[22] .

string& erase (size_t pos = 0, size_t len = npos);

Borra los caracteres de la cadena [23] .

iterator erase (const_iterator p);

Borra los caracteres de la cadena [23] .

iterator erase (const_iterator first, const_iterator last);

Borra los caracteres de la cadena [23] .

string& replace (size_t pos, size_t len, const string& str);

Reemplaza el contenido de la cadena [24] .

string& replace (const_iterator i1, const_iterator i2, const string& str);

Reemplaza el contenido de la cadena [24] .

string& replace (size_t pos, size_t len, const string& str, size_t subpos, size_t sublen);

Reemplaza el contenido de la cadena [24] .

string& replace (size_t pos, size_t len, const char* s);

Reemplaza el contenido de la cadena [24] .

string& replace (const_iterator i1, const_iterator i2, const char* s);

Reemplaza el contenido de la cadena [24] .

string& replace (size_t pos, size_t len, const char* s, size_t n);

Reemplaza el contenido de la cadena [24] .

string& replace (const_iterator i1, const_iterator i2, const char* s, size_t n);

Reemplaza el contenido de la cadena [24] .

string& replace (size_t pos, size_t len, size_t n, char c);

Reemplaza el contenido de la cadena [24] .

string& replace (const_iterator i1, const_iterator i2, size_t n, char c);

Reemplaza el contenido de la cadena [24] .

template <class InputIterator> string& replace (const_iterator i1, const_iterator i2, InputIterator first, InputIterator last);

Reemplaza el contenido de la cadena [24] .

string& replace (const_iterator i1, const_iterator i2, initializer_list<char> il);

Reemplaza el contenido de la cadena [24] .

void swap (string& str);

Cambia el contenido de la línea actual a str[25] .

void pop_back();

Elimina el último carácter de la cadena [26] .

Operaciones

c_str

Devuelve el contenido de una cadena en tipo char

data

Devuelve el contenedor interno en tipo char.

get_allocator

copy

find

rfind

find_first_of

Devuelve el índice con la primera aparición.

find_last_of

find_first_not_of

find_last_not_of

substr(pos, n)

-Devuelve n caracteres de la cadena str comenzando en la posición pos

compare

npos

operator+

relational operators

swap

Intercambia dos variables

operator>>

operator<<

getline

Notas

  1. 1 2 3 4 5 6 7 8 9 cadena::cadena . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  2. 1 2 3 4 5 cadena::operador= . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  3. 1 2 cadena::begin, cadena::cbegin . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  4. 1 2 cadena::fin, cadena::cend . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  5. 1 2 cadena::rbegin, cadena::crbegin . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  6. 1 2 cadena::rend, cadena::crend . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  7. 1 2 cadena::tamaño . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  8. cadena::max_size . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  9. 1 2 cadena::redimensionar . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  10. cadena::capacidad . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  11. cadena::reserva . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  12. cadena::claro . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  13. cadena::vacío . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  14. 1 2 cadena::operador[ ] . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  15. 1 2 cadena::en . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  16. 1 2 cuerdas::atrás . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  17. 1 2 cuerdas::frente . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  18. 1 2 3 4 cadena::operador+= . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  19. 1 2 3 4 5 6 7 cadena::añadir . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  20. cadena::push_back . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  21. 1 2 3 4 5 6 7 8 cadena::asignar . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  22. 1 2 3 4 5 6 7 8 cadena::insertar . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  23. 1 2 3 cadena::borrar . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  24. 1 2 3 4 5 6 7 8 9 10 11 cadena::reemplazar . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  25. cadena::intercambiar . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.
  26. cadena::pop_back . Consultado el 11 de septiembre de 2021. Archivado desde el original el 11 de septiembre de 2021.

Enlaces