Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zapitannya_do_Informatiki.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
141.69 Кб
Скачать
  1. Стандартна бібліотека шаблонів (stl)

Стандартна бібліотека шаблонів (англ. Standard Template Library; STL) — бібліотека для C++, що містить набір узгоджених узагальнених алгоритмів, контейнерів, засобів доступу до їхнього вмісту і різних допоміжних функцій.

Стандартна бібліотека шаблонів до включення в стандарт C++ була сторонньою розробкою, на початку — фірми HP, а потім SGI. Стандарт мови не називає її «STL», оскільки ця бібліотека стала невід'ємною частиною мови, проте багато людей досі використовують цю назву, щоб відрізняти її від решти частини стандартної бібліотеки (потоки вводу/виводу (iostream), підрозділ Сі тощо).

Проект під назвою STLPort, заснований на SGI STL, здійснює постійне оновлення STL, IOstream і рядкових класів. Деякі інші проекти також займаються розробкою приватних застосувань стандартної бібліотеки для різних конструкторських завдань. Кожен виробник компіляторів C++ обов'язково поставляє яку-небудь реалізацію цієї бібліотеки, оскільки вона є дуже важливою частиною стандарту і широко використовується.

У бібліотеці виділяють п'ять основних компонентів:

  • Контейнер (container) - зберігання набору об'єктів в пам'яті.

  • Ітератор (iterator) - забезпечення засобів послідовного доступу до вмісту контейнера.

  • Алгоритм (algorithm) - визначення обчислювальної процедури.

  • Адаптер (adaptor) - адаптація компонентів для забезпечення різного інтерфейсу.

  • Функціональний об'єкт (functor) - заховання функції в об'єкті для використання іншими компонентами.

Розділення дозволяє зменшити кількість компонентів. Наприклад, замість написання окремої функції пошуку елементу для кожного типу контейнера забезпечується єдина версія, яка працює з кожним з них, поки дотримуються основні вимоги.

  1. Доступність методів класу.

Всередині об'єкту дані і методи можуть бути або відкриті, або ні. Відкриті дані і члени класу є доступними для інших частин програми, які не є частиною об'єкта. А ось закриті дані і члени класу доступні тільки всередині цього об'єкту.

  1. Конструктор та деструктор класів.

Конструктор - метод класу, який виконується автоматично в момент створення об’єкта. У них є декілька особливостей, які відрізняють їх від інших методів класу. По-перше, імя конструктора в точності співпадає з іменем класу. Таким чином компілятор відрізняє конструктори від інших методів класу. По-друге, у конструктора не існує значень, що повертається. Це пояснюється тим, що конструктор автоматично викликається системою, і отже, не існує викликаної програми або функції, якій конструктор міг би повернути значення. Отже, вказівка значення, що повертається для конструктора не має сенсу. Відсутність типу значення, що повертається є другою ознакою, по якій компілятор може відрізнити їх від інших методів класу.

Деструктор – функція, яка автоматично викликається при знищенні об’єкта класу. Деструктор має імя, яка співпадає з іменем конструктора (а відповідно, і класу), але перед іменем ставиться знак ̴. Схоже до конструкторів, деструктори не повертають значення і не мають аргументів, оскільки неможливе знищення об’єктів декількома способоми. Найбільш поширене застосування деструкторів – звільнення памяті, віділеної конструктором при створенні об’єкта.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]