The Wayback Machine - https://web.archive.org/web/20211222114049/https://ru.cppreference.com/w/cpp/string
Пространства имён
Варианты
Действия

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

Материал из cppreference.com
< cpp
 
C++
Поддержка компилятором
Автономные и размещённые реализации
Язык
Заголовки стандартной библиотеки
Требования к именованию
Макросы тестирования функциональности (C++20)
Поддержка языка
Библиотека концептов (C++20)
Библиотека диагностики
Библиотека общих утилит
Библиотека строк
Библиотека контейнеров
Библиотека итераторов
Библиотека диапазонов (C++20)
Библиотека алгоритмов
Библиотека численных данных
Библиотека ввода/вывода
Библиотека локализаций
Регулярные выражения (C++11)
Атомарные операции (C++11)
Библиотека поддержки потоков (C++11)
Библиотека файловой системы (C++17)
Технические спецификации
Указатель символов
Внешние библиотеки
 
 

Библиотека строк 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>
Тип Определение
std::string_view (начиная с C++17) std::basic_string_view<char>
std::wstring_view (начиная с C++17) std::basic_string_view<wchar_t>
std::u8string_view (начиная с C++20) std::basic_string_view<char8_t>
std::u16string_view (начиная с C++17) std::basic_string_view<char16_t>
std::u32string_view (начиная с C++17) 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++ для Библиотека локализаций
Документация по C для Библиотека строк
Источник — «https://ru.cppreference.com/mwiki/index.php?title=cpp/string&oldid=46979»