Шаг 389.
Библиотека STL.
Строение строковых классов. Определения типов и статические значения

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

    Начиная с этого шага обозначение string соответствует фактическому строковому классу - string, wstring или любой другой специализированной версии класса basic_string<>. Обозначение char относится к фактическому типу символов, то есть char для string и wchar_t для wstring. Смысл других типов и значений, выделенных курсивом, зависит от определений типа символов и класса трактовок.

Определения типов и статические значения

    Перечислим способы определения типов и некоторые статические значения.

string::traits_type
Тип трактовок символов. Второй параметр шаблона класса basic_string. Для типа string - эквивалент char_traits<char>.
string::value_type
Тип символов. Эквивалент traits_type::char_type. Для типа string - эквивалент char.
string::size_type
Беззнаковый целый тип для значений размеров и индексов. Эквивалент allocator_type::size_type. Для типа string - эквивалент size_t.
string::difference_type
Знаковый целый тип для значений разности. Эквивалент allocator_type::difference_type. Для типа string - эквивалент ptrdiff_t.
string::reference
Тип ссылки на символ. Эквивалент allocator_type::reference. Для типа string - эквивалент char&.
string::const_reference
Тип константной ссылки на символ. Эквивалент allocator_type::const_reference. Для типа string - эквивалент const char&.
string::pointer
Тип указателя на символ. Эквивалент allocator_type::pointer. Для типа string - эквивалент char*.
string::const_pointer
Тип константного указателя на символ. Эквивалент allocator_type::const_pointer. Для типа string - эквивалент const char*.
string::iterator
Тип итераторов. Конкретный тип зависит от реализации. Для типа string обычно используется char*.
string::iterator
Тип константных итераторов. Конкретный тип зависит от реализации. Для типа string обычно используется const char*.
string::reverse_iteratorz
Тип обратных итераторов. Эквивалент reverse_iterator<iterator>.
string::reverse_iterator
Тип константных обратных итераторов. Эквивалент reverse_iterator<const_iterator>.
static const size_type string::npos
Специальное значение, означающее "безрезультатный поиск" или "все оставшиеся символы". Беззнаковое целое значение, инициализируемое значением -1. Использование значения npos требует осторожности. За подробностями обращайтесь к 379 шагу.

    На следующем шаге мы рассмотрим операции создания, копирования и уничтожения строк.




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