Форум: Форум C++Разное
Новые темы: 00
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: STL - стандартная библитека шаблонов
 
 автор: DEM   (08.01.2007 в 01:02)   письмо автору
 
 

Что это за зверёк такой? Чем его кормить и как его использовать\подключать?

  Ответить  
 
 автор: Sergey89   (08.01.2007 в 01:03)   письмо автору
 
   для: DEM   (08.01.2007 в 01:02)
 

Это стандартная библиотека шаблонов =). Прежде чем юзать обязательно ознакомьтесь с шаблонами!
Подключать как и любой файл.
#include <vector>
#include <map>

и т.д.

  Ответить  
 
 автор: DEM   (08.01.2007 в 01:04)   письмо автору
 
   для: Sergey89   (08.01.2007 в 01:03)
 

Ну что это я понял :) Я хотел спросить, что с помощью этой библиотеки можно сделать?

  Ответить  
 
 автор: Sergey89   (08.01.2007 в 01:49)   письмо автору
 
   для: DEM   (08.01.2007 в 01:04)
 

Ну самый простой пример это использование динамических массивов.

  Ответить  
 
 автор: cheops   (08.01.2007 в 02:32)   письмо автору
 
   для: DEM   (08.01.2007 в 01:02)
 

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

Как с этим борятся? Пишут свои собственные библиотеки (классы) массивов, строк, других структур (списков, стеков, деков и т.п.) - пишут на совесть и используют. Конечно всем надоело, что каждый раз приходится решать эту задачу по новой - как сейчас в PHP каждый свою CMS разрабатывает, в результате море CMS несовместимых друг с другом и их всё равно каждый день по сотне появляется. Решили устроить антибабель (babel - вавилонское смешение языков) - создать такую библиотеку, чтобы все могли пользоваться, самую скоростную, самую эффективную, самую удобную, которую напишут самые крутые профи и включить её в стандрат - чтобы она была частью каждого компилятора. Ну... в общем это всё удалось практически на 90%, некоторые корявки конечно есть, но на фоне того, что получилось об них можно забыть.

Это не значит, что C++ программист должен забыть об очередях и списках - всё таки разрабатывать их следует, хотя бы для того, чтобы знать как работает STL. Кроме того, их разработку часто задают при приёме на работу (особенно программисты старой закалки, которые ещё и с секундомером будут около вас стоять).

Просто взять и использовать STL не получится - это C-библиотека, хоть в ней и используется ООП, это 100% философия старого C - пока не освоите указатели и шаблоны - это будет чёрной магией. Кроме того, так как библиотека ориенитирована на профессионалов, разработчик, пользующийся STL должен поинимать как устроена библиотека, контейнеры и алгоритмы, только тогда он сможет выбрать правильный алгоритм в каждой конкретной ситуации.

PS STL нужно знать, без знания STL вы не будете полноценным C++ программистом. Язык сильнотипизированный - шаблоны по неволе приходится использовать - область не самая простая, здесь STL очень кстати. Ошибку совершить на C++ - это раз плюнуть, даже чуть расслабившемуся профи. Поэтому вылизанная профессиональная библиотека здесь очень кстати. STL - это не мода, это жизненно-необходимый инструмент любого современного разработчика.

  Ответить  
 
 автор: Программер   (08.01.2007 в 04:45)   письмо автору
 
   для: cheops   (08.01.2007 в 02:32)
 

А какую книгу посоветуете почитать на эту тему?

  Ответить  
 
 автор: DEM   (08.01.2007 в 09:52)   письмо автору
 
   для: Программер   (08.01.2007 в 04:45)
 

Я видел книгу серии ДЛЯ ПРОФФЕСИОНАЛОВ: "С++ СТАНДАРТНАЯ БИБЛИОТЕКА"... не читал, но видел :) Как я понял из оглавнения, это про STL :)

  Ответить  
 
 автор: cheops   (08.01.2007 в 14:38)   письмо автору
 
   для: DEM   (08.01.2007 в 09:52)
 

Автор Николай Джосьютис - классная книга, полностью посвящённая STL - написана с изумительной немецкой точностью. Лучше книги по STL не видел.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования