Spec-Zone.ru › C++

Библиотека строк

Библиотека 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 для часто используемых типов:

Определено в заголовке <string_view>
Тип Определение
std::string_view std::basic_string_view<char>
std::wstring_view std::basic_string_view<wchar_t>
std::u8string_view (с C++20) std::basic_string_view<char8_t>
std::u16string_view std::basic_string_view<char16_t>
std::u32string_view std::basic_string_view<char32_t>
(с 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 для Библиотеки строк

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API