Библиотека строк
Библиотека строк C++ включает поддержку трёх основных типов строк:
- std::basic_string - шаблонный класс, предназначенный для управления строками любого символьного типа.
- std::basic_string_view (C++17) - легковесное не-владеющее доступное только для чтения представление подпоследовательности строки.
- Строки с завершающим нулём - массивы символов, оканчивающиеся специальным нулевым символом.
Содержание |
[править] std::basic_string
Шаблонный класс std::basic_string обобщает способы управления и хранения последовательностей символов. Создание, манипулирование и уничтожение строк обрабатываются удобным набором методов класса и связанных функций.
Для часто используемых типов предусмотрено несколько специализаций std::basic_string:
| Определены в заголовочном файле
<string> | |
| Тип | Определение |
| std::string | std::basic_string<char> |
| std::wstring | std::basic_string<wchar_t> |
| std::u8string (начиная с C++20) | std::basic_string<char8_t> |
| std::u16string (начиная с C++11) | std::basic_string<char16_t> |
| std::u32string (начиная с C++11) | std::basic_string<char32_t> |
std::basic_string_viewШаблонный класс std::basic_string_view предоставляет легковесный объект, который предлагает доступ только для чтения к строке или части строки с использованием интерфейса, аналогичного интерфейсу std::basic_string. Для часто используемых типов предусмотрено несколько специализаций std::basic_string_view:
|
(начиная с C++17) | ||||||||||||||||||||||||||
[править] Строки с завершающим нулём
Строки с завершающим нулем, это массивы символов, которые заканчиваются специальным нулевым символом. C++ предоставляет функции для создания, проверки и изменения строк с завершающим нулём.
Есть три типа строк с завершающим нулём:
- строки байтов с завершающим нулём
- многобайтовые строки с завершающим нулём
- широкие строки с завершающим нулём
[править] Дополнительная поддержка
[править] std::char_traits
Библиотека строк также предоставляет шаблон класса std::char_traits, который определяет типы и функции для std::basic_string и std::basic_string_view (начиная с C++17). Определены следующие специализации:
| Определено в заголовочном файле <string>
|
||
| template<> class char_traits<char>; |
||
| template<> class char_traits<wchar_t>; |
||
| template<> class char_traits<char8_t>; |
(начиная с C++20) | |
| template<> class char_traits<char16_t>; |
(начиная с C++11) | |
| template<> class char_traits<char32_t>; |
(начиная с C++11) | |
[править] Преобразования и классификация
Библиотека локализаций обеспечивает поддержку преобразования строк (например, std::wstring_convert или std::toupper), а также функций, которые классифицируют символы (например, std::isspace или std::isdigit).
[править] Смотрите также
| Документация по C++ для Библиотека локализаций
| |
| Документация по C для Библиотека строк
|