Biblioteca de cadenas
La biblioteca de cadenas de C++ incluye apoyo para tres tipos generales de cadenas:
- std::basic_string - Una plantilla de clase diseñada para manipular cadenas de cualquier tipo de caracteres.
- std::basic_string_view (C++17) - Una vista sobre una subsecuencia de una cadena, ligera, que no posee los caracteres, y de sólo lectura.
- Cadenas terminadas en nulo - Arrays de caracteres terminados por un carácter especial nulo.
Contenido |
std::basic_string
La plantilla de clase std::basic_string generaliza cómo secuencias de caracteres son manipuladas y almacenadas. La creación, manipulación y destrucción de cadenas se maneja por un conjunto conveniente de métodos de clase y funciones relacionadas.
Se proporcionan varias especializaciones de std::basic_string para los tipos más comúnmente usados:
Definido en el archivo de encabezado
<string> | |
Tipo | Definición |
std::string | std::basic_string<char> |
std::wstring | std::basic_string<wchar_t> |
std::u8string (desde C++20) | std::basic_string<char8_t> |
std::u16string (desde C++11) | std::basic_string<char16_t> |
std::u32string (desde C++11) | std::basic_string<char32_t> |
std::basic_string_viewLa plantilla de clase std::basic_string_view proporciona un objeto ligero que ofrece acceso de sólo lectura a una cadena o parte de una cadena usando una interfaz similar a la interfaz de std::basic_string. Se proporcionan varias especializaciones de std::basic_string_view para los tipos más comúnmente usados:
|
(desde C++17) |
Cadenas terminadas en nulo
Las cadenas terminadas en nulo son arrays de caracteres que terminan con un carácter especial nulo. C++ proporciona funciones para crear, inspeccionar y modificar cadenas terminadas en nulo
Hay tres tipos de cadenas terminadas en nulo:
- cadenas de bytes terminadas en nulo
- cadenas de multibytes terminadas en nulo
- cadenas de caracteres anchos terminadas en nulo
Apoyo adicional
char_traits
La biblioteca de cadenas también ofrece la plantilla de clase char_traits
, que define los tipos y funciones de std::basic_string y de std::basic_string_view. Se definen las siguientes especializaciones:
Definido en el archivo de encabezado <string>
|
||
template<> class char_traits<char>; |
||
template<> class char_traits<wchar_t>; |
||
template<> class char_traits<char8_t>; |
(desde C++20) | |
template<> class char_traits<char16_t>; |
(desde C++11) | |
template<> class char_traits<char32_t>; |
(desde C++11) | |
La biblioteca de localizaciones proporciona apoyo para conversiones de cadena (p. ej., std::wstring_convert o std::toupper) así como funciones que clasifican caracteres (p. ej., std::isspace o std::isdigit).
Véase también
Documentación de C++ para Biblioteca de localización
| |
Documentación de C para Biblioteca de cadenas
|