Diferencia entre revisiones de «cpp/string»
m (Allow search engines to index popular pages.) |
(Mejorar traducción) |
||
Línea 1: | Línea 1: | ||
− | + | {{title|}} | |
− | {{title| | + | |
{{cpp/string/navbar}} | {{cpp/string/navbar}} | ||
− | + | C++ incluye soporte para tipos generales de cadenas: | |
− | * | + | * {{lc|std::basic_string}} - una plantilla diseñada para manipular cadenas de cualquier tipo de caracteres. |
− | * | + | {{lc|std::}} - . |
+ | * en nulo - de caracteres por un carácter especial ''nulo''. | ||
=== {{lc|std::basic_string}} === | === {{lc|std::basic_string}} === | ||
− | + | {{lc|std::basic_string}} generaliza secuencias de caracteres son manipulados y almacenados. creación, manipulación y destrucción se por un conjunto conveniente de métodos de clase y funciones relacionadas. | |
− | + | especializaciones de {{lc|std::basic_string}} para los tipos más : | |
{{dsc begin}} | {{dsc begin}} | ||
{{dsc header | string}} | {{dsc header | string}} | ||
− | {{dsc hitem | + | {{dsc hitem | Tipo | }} |
{{dsc | {{lc|std::string}} | {{c|std::basic_string<char>}}}} | {{dsc | {{lc|std::string}} | {{c|std::basic_string<char>}}}} | ||
{{dsc | {{lc|std::wstring}} | {{c|std::basic_string<wchar_t>}}}} | {{dsc | {{lc|std::wstring}} | {{c|std::basic_string<wchar_t>}}}} | ||
− | {{dsc | {{lc|std::u16string}} | {{c|std::basic_string<char16_t>}} | notes={{mark since c++11}}}} | + | |
− | {{dsc | {{lc|std::u32string}} | {{c|std::basic_string<char32_t>}} | notes={{mark since c++11}}}} | + | {{dsc | {{lc|std::u16string}} | {{c|std::basic_string<char16_t>}} | notes={{mark since c++11}}}} |
+ | {{dsc | {{lc|std::u32string}} | {{c|std::basic_string<char32_t>}} | notes={{mark since c++11}}}} | ||
{{dsc end}} | {{dsc end}} | ||
− | === | + | = |
− | {{ | + | === {{||}} |
− | {{ | + | {{|:|:}} |
− | + | de {{|}} | |
− | + | ||
− | + | ||
− | === | + | |
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | adicional=== | ||
===={{rl| char_traits}}==== | ===={{rl| char_traits}}==== | ||
− | + | La biblioteca también ofrece {{rlt|char_traits}}define los tipos y funciones de {{lc|std::basic_string}} {{lc|std::}}. : | |
{{dcl begin}} | {{dcl begin}} | ||
{{dcl header | string}} | {{dcl header | string}} | ||
− | {{dcl | | + | {{dcl | <> <>}} |
− | template<> class char_traits< | + | {{| template<> class char_traits<>; |
− | template<> class char_traits< | + | template<> class char_traits<>; |
− | template<> class char_traits< | + | template<> class char_traits<>; |
− | template<> class char_traits< | + | template<> class char_traits<>; }} |
− | }} | + | |
{{dcl end}} | {{dcl end}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
[[ar:cpp/string]] | [[ar:cpp/string]] |
Revisión de 14:19 12 dic 2019
La biblioteca de cadenas de C++ incluye soporte 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 manipulados y almacenados. 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 provee 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++ proporcionan funciones para crear, inspeccionar y modificar cadenas terminadas en nulo
Hay tres tipos de cadenasterminadas en nulo:
- cadenas de bytes terminadas en nulo
- cadenas de multibytes terminadas en nulo
- cadenas de caracteres amplios terminadas en nulo
Soporte adicional
char_traits
La biblioteca de cadenas también ofrece la plantilla de clase char_traits
, la cual define los tipos y funciones de std::basic_string y de std::basic_string_view. Están definidas 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 localizations library provee soporte para conversiones de cadena (e.g. std::wstring_convert o std::toupper) así como funciones que clasifican caracteres (e.g. std::isspace o std::isdigit).
Ver también
Documentación de C++ para Biblioteca de localización
| |
Documentación de C para Biblioteca de cadenas
|