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

Стандартная библиотека строк

Материал из cppreference.com
< cpp

Строковая библиотека C++ включает в себя поддержку двух основных типов строк:

  • std::basic_string - шаблонный класс, предназначенный для управления строками любых символьных типов.
  • std::basic_string_view (C++17) - легковесная не владеющая строка, представленная только для чтения.
  • Строки с завершающим нулем - массивы символов, завершенные специальным символом null.

Содержание

[править] std::basic_string

Шаблонный класс std::basic_string обобщает управление и хранение последовательностей символов. Создание, управление и удаление строк производится удобным набором функций-членов и вспомогательных функций.

Несколько специализаций std::basic_string представлены для часто используемых типов:

Заголовочный файл <string>
Тип Definition
std::string std::basic_string<char>
std::wstring std::basic_string<wchar_t>
std::u16string std::basic_string<char16_t>
std::u32string std::basic_string<char32_t>

std::basic_string_view

Шаблонный класс std::basic_string_view представляет легковесный объект, который дает доступ только на чтение строки или части строки, используя интерфейс схожий с std::basic_string.

Предусмотрено несколько специализаций std::basic_string_view для часто используемых типов:

Заголовочный файл <string>
Type Definition
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++ предоставляет функции для создания, просмотра и изменения строк с завершающим нулевым символом.

Есть три типа строк с завершающим нулевым символом:

[править] Дополнительная поддержка

[править] char_traits

Строковая библиотека предоставляет шаблон класса char_traits, который определяет типы и функции для std::basic_string. Также определены следующие специализации:

Определён в заголовочном файле <string>
template<> class char_traits<std::string>;

template<> class char_traits<std::wstring>;
template<> class char_traits<std::u16string>;

template<> class char_traits<std::u32string>;


(с C++11)
(с C++11)
X Tutup