Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры к Ветчинину 3 курс.docx
Скачиваний:
3
Добавлен:
14.04.2019
Размер:
66 Кб
Скачать

2.3 Что такое библиотеки stl (один из авторов) и atl, назначение.

Библиотека стандартных шаблонов STL (Standard Template Library) - один из тех немногих программных продуктов, чье появление было встречено единодушно всеми профессиональными программистами.

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

Четыре основных компонента составляют структуру STL:

итераторы - специальные указатели, позволяющие алгоритмам перемещаться по данным контейнера;

алгоритмы - вычислительные процедуры;

контейнеры - блоки хранения данных, управления ими и размещения;

функциональные объекты - инкапсулируют функции в объекте для использования другими компонентами.

ATL расшифрвывается как Active Template Library. Это библиотека классов и шаблонов, предназначенная для разработки собственных компонетов.

Вообще говоря в Visual C++ есть две основные библиотеки - это MFC и ATL (библиотеку классов для платформы .NET мы пока оставляем за скобками). Библиотека MFC предназначена в основном для создания приложений с пользовательским интерфейсом (окна, диалоги и т. п.). Наряду с такими типами приложений есть и другой тип - без пользовательского интерфейса. Это могут быть, например, различные службы, предоставляющие другим приложениям свойства и методы. Такие службы могут что-то там по запросу вычислять и возвращать результат через свои методы. Именно для таких приложений без пользовательского интерфейса и предназначена библиотека ATL. Еще одно применение этой библиотеки - это создание собственных элементов ActiveX. Например, с помощью библиотеки ATL вы можете создать собственную особую кнопку (скажем, круглую) и затем использовать ее в программах на VB или Delphi. Собственные элементов ActiveX вы можете создавать и с помощью библиотеки MFC, но по размеру они получаются существенно больше, что для элемента ActiveX является существенным минусом - ведь часто его надо загружать из Интернета. Как плату за меньший размер вам приходится программировать прорисовку элемента с помощью библиотеки ATL на более низком уровне - а именно на уровне API-функций. За все приходится платить.

2.4 Функции в с, назначение, программный дизайн, примеры.

Функции являются основным программным элементом «классического С». Они используются и расширением системы С – С++ (но в С++ основа - классы).

Определение функции: type name_fun(type x, type y) {…}

Прототип функции: type name_fun(type , type );

Вызов функции: name_fun(x, y);

2.5 Inline – функции в с, особенности их использования

Оперативная память представляет собой таблицу с 64 столбцами и млн-ми строк. Любая функция в ней размещается как последовательность набора машинных слов.

1

2

3

4

5

Вызов

addr в

др фун

addr без inline

inline – встроенные функции, блоки их машинных кодов встраиваются полностью в каждое место их вызова в вызывающей функции. В inline вместо ячейки с адресом вызова функции будет размещаться блок машинных слов со встроенной функцией. При следующем вызове в инлайн блок повторяется снова.

Смысл инлайн

Повышение быстродействия программы. Исключено обращение в другую область памяти. Но! Занимает в памяти больше места. Такой способ уместно использовать в небольших функциях с ограниченным числом вызовов. Компилятор может игнорировать инлайн-указания. Изза числа вызовов и размера он может решить, что не хватит ресурсов и проигнорирует инлайн.