Строки. Строки и векторы

   
На этом шаге мы сравним строки и векторы.

   
Строки имеют много общего с векторами, и это не удивительно - оба типа контейнеров обычно реализуются в виде динамических массивов. Строку
можно рассматривать как специализированную разновидность вектора с символьными элементами. Более того, строки могут использоваться как
контейнеры STL (смотри 380 шаг). Впрочем, интерпретировать строку как специализированный вектор опасно,
поскольку между ними существует немало принципиальных различий, главное из которых - предназначение контейнера.

  • Векторы предназначены для работы с элементами контейнеров, а не с контейнером в целом. По этой причине реализации векторов оптимизируются
    для эффективного выполнения операций с отдельными элементами.
  • Строки предназначены для работы с целым контейнером (строкой), поэтому для них оптимизируются операции присваивания и передачи всего
    контейнера.

   
Различия в целях обычно приводят к совершенно разным реализациям. Например, строки часто реализуются на базе подсчета ссылок, а для векторов
такая реализация вообще нехарактерна. Впрочем, вектор может использоваться как обычная С-строка. За подробностями обращайтесь
на 137 шаг.

   
Со следующего шага мы начнем знакомиться со строеним строковых классов.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий