Шаг 367.
Библиотека STL.
Строки. Конструкторы и деструкторы

    На этом шаге мы перечислим конструкторы и декструктор, используемые при работе со строками.

    В таблице 1 перечислены конструкторы и деструктор строк.

Таблица 1. Конструкторы и деструктор строк
Выражение Описание
string s Создает пустую строку s
string s(str) Создает новую строку как копию существующей строки str
string s(str, strIdx) Создает строку s, инициализированную символами строки str, начиная с индекса strIdx
string s(str, strIdx, strlen) Создает строку s, инициализированную не более чем strlen символами строки str, начиная с индекса strIdx
string s(cstr) Создает строку s, инициализированную С-строкой cstr
string s(chars, chars_len) Создает строку s, инициализированную chars_len символами символьного массива chars
string s(num, с) Создает строку, состоящую из num экземпляров символа с
string s(beg, end) Создает строку, инициализированную всеми символами интервала [beg,end)
s.~string() Уничтожает все символы и освобождает память

    Строка не может инициализироваться одним символом. Вместо этого необходимо использовать адрес или явно задать количество вхождений:

  std::string s('x');   // ОШИБКА
  std::string s(l,'x'); // ОК. Создает строку из одного символа 'х'

    Следовательно, автоматическое преобразование к типу string может производиться от типа const char*, но не от типа char.

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




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