Шаг 22.
Библиотека STL.
Класс string

    На этом шаге мы приведем общие сведения о классе string.

    C++ не поддерживает встроенный строковый тип. Однако он предоставляет два способа обработки строк. Во-первых, для представления строк можно использовать традиционный символьный массив с завершающим нулем. Во-вторых, можно использовать объекты класса string.

    В действительности класс string представляет собой специализацию более общего шаблонного класса basic_string. Существует две специализации типа basic_string:

    Существует три причины для включения в C++ стандартного класса string:

    Для использования строковых классов C++ необходимо включить в программу заголовок <string>.

    Прототипы трех самых распространенных конструкторов класса string имеют следующий вид.

   string();
   string(const char *str);
   string(const string &str);

    Первая форма конструктора создает пустой объект класса string. Вторая форма создает string-объект из строки с завершающим нулем, адресуемой параметром str. Эта форма конструктора обеспечивает преобразование из строки с завершающим нулем в объект типа string. Третья создает string-объект из другого string-объекта.

    Для объектов класса string определены следующие операторы.

Таблица 1. Операторы класса string
Оператор Описание
= Присваивание
+ Конкатенация
+= Присваивание с конкатенацией
== Равенство
!= Неравенство
< Меньше
<= Меньше или равно
> Больше
>= Больше или равно
[] Индексация
<< Вывод
>> Ввод

    Эти операторы позволяют использовать объекты типа string в обычных выражениях и избавляют программиста от необходимости вызывать такие функции, как strcpy() или strcat(). В общем случае в выражениях можно смешивать string-объекты и строки с завершающим нулем. Оператор "+" можно использовать для конкатенации одного string-объекта с другим или string-объекта со строкой, созданной в C-стиле.

    На следующем шаге мы рассмотрим пример программы обработки строк.




Предыдущий шаг Содержание Следующий шаг