Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по C/C++

  Все выпуски  

Уроки по C/C++


Информационный Канал Subscribe.Ru

Уроки по C/C++. Рассылки сайта progs.biz
Рассылка № 34
 
Начало > C++ > Библиотека STL > Урок 1

Алексей Дубовцев. Microsoft .NET. Наиболее полное руководство.
Алексей Дубовцев. Microsoft .NET. Наиболее полное руководство
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 1.

C++. Библиотека STL
Урок 1. Что такое STL?

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

Вообще говоря STL считается довольно-таки запутанной. Но, во-первых, вам нет нужды изучать ее всю сразу и, во-вторых, важно сразу понять в общих чертах, что за основные части имеются в этой библиотеке. Этих частей три: контенеры, алгоритмы и итераторы.

Итак, часть первая. Она содержит разнообразные контейнеры. Часть контейнеров довольно-таки понятна - это динамичесике массивы, списки, очереди и др. Другая часть более продвинута, если можно так выразиться. Сюда, например, относятся так называемые ассоциативные контейнеры. Основная их отличительная черта - это то, что хранящиеся в них значения ищутся по ключам. При этом ключ может быть самым разным. Аналогия такого контенера из жизни - это телефонная книга. Там номера телефонов ищутся по фамилии владельца или названия фирмы.

В каждом контейнере кроме собственно данных есть методы для работы с этими данными (для добавления, поиска, удаления и др.).

Вторая часть библиотеки STL - это алгоритмы. Сразу обратите внимание, что алгоритмы не являются частью контейнеров, а образуют отдельную подсистему. Но при этом почти любой алгоритм может применяться к почти любому контенеру. Т. е. вызывая метод для некоторого алгоритма, мы вызываем этот метод сам по себе, а не для экземпляра некоторого класса. Контейнер же, к которому применяется алгоритм, передается в качестве параметра.

И, наконец, третья часть STL - это разнообразные итераторы. В первом приближении итератор - это некоторый указатель, который может оббегать все элементы контейнера. Итераторы играют такую же роль, что и индекс у элемента массива. Через индекс массива мы можем получить некоторый элемент массива, и через итератор мы можем получить некоторый элемент контейнера. Итераторы бывают разных типов: для движения только вперед, для движения в обе стороны и др. И все это мы будем рассматривать подробно на последующих уроках.

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2004 сайт progs.biz
© 2002-2004 Алексеев Игорь

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.cpplessons
Отписаться

В избранное