Хелпикс

Главная

Контакты

Случайная статья





Лабораторна робота № 10. Мета роботи: познайомитися із поняттями клас контейнер, ітератор, алгоритм.. Стандартна бібліотека шаблонів



Лабораторна робота № 10

Стандартна бібліотека шаблонів. Класи контейнери, ітератори, алгоритми.

 

Мета роботи: познайомитися із поняттями клас контейнер, ітератор, алгоритм.

Короткі теоретичні відомості

 

Стандартна бібліотека шаблонів

Стандартна бібліотека шаблонів (Standard Template Lіbrary – STL) входить у стандартну бібліотеку мови C++. Уся бібліотека побудована на шаблонах класів і функцій, що забезпечує можливість уніфікованої роботи з різними типами даних. Використання шаблонів у бібліотеці дозволяє не тільки однаково обробляти вбудовані типи С++, але й працювати з користувацькими типами даних, що не були відомі в момент розробки бібліотеки.

Якщо більш конкретно розглянути склад STL, то в ній можна виділити наступні компоненти:

· Контейнери (contaіners) – це класи, призначені для зберігання сукупностей об’єктів (як вбудованих, так і визначених користувачем типів). Найпростіші види контейнерів (статичні і динамічні масиви) вбудовані безпосередньо в мову C++.

· Ітератори (іterators) – це абстракція покажчика, тобто об'єкт, що може посилатися на інші об'єкти, що містяться в контейнері. Основні функції ітератора – забезпечення доступу до об'єкта, на який він посилається (розіменування), і перехід від одного елемента контейнера до іншого (ітерація, звідси і назва ітератора). Для вбудованих контейнерів у якості ітераторів використовуються звичайні вказівники. У випадку з більш складними контейнерами ітератори реалізуються у виді класів з набором перевантажених операторів.

· Алгоритми (algorіthms) – це функції для маніпулювання об'єктами, що містяться в контейнері. Типові приклади алгоритмів – сортування та пошук. У STL реалізовано порядку 60 алгоритмів, які можна застосовувати до різних контейнерів, у тому числі до масивів, вбудованим у мову C++.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.