Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Шаблоны являются инструментами обобщенного программирования, но оно идет дальше по пути обобщения.






Разнотипные данные могут быть объединены в обычный массив или составлять связанный список или быть элементами любого другого типа контейнеров. Цель обобщенного программирования создать одну функцию в данном случае - сортировки, которая работала бы с массивами, связанными списками, или любым другим типом контейнеров.

Иначе говоря, функция обработки должна быть независимой не только от типов данных, содержащихся в контейнере, но и от самой структуры контейнера.

Именно такое обобщенное представление в обобщенном программировании реализуется с помощью итераторов. Назначение итератора – предоставить единый метод обработки элементов контейнера, не зависящий от вида контейнера и типа элементов в нем.

Международный стандарт языка C++.

Язык С++ с момента своего создания приобрел большую популярность у программистов и стал широко распространенным языком. Язык достиг определенного уровня зрелости и претерпел значительные изменения.

В течение многих лет велись работы по выработке стандартов языков С и С++. В 1983 году Национальным институтом стандартизации США (American National Standards Institute –ANSI) был утвержден первый стандарт языка C – ANSI C, который определил не только сам язык С, но и стандартную библиотеку С, которая должна быть включена во все реализации языка С.

В языке С++ тоже используется эта библиотека, обычно называемая стандартной библиотекой С или просто стандартной библиотекой. В дополнении к этому стандарт языка C++ должен представлять стандартную библиотеку классов языка С++.

Работа ANSI и Международной организацией по вопросам стандартизации (International Standards Organization – ISO) над стандартом языка С++ началась в 1990 году В 1998 году был утвержден стандарт ANSI/ISO С++, который согласуется со стандартом ANSI С.

Новый стандарт С был принят ISO и ANSI в 1999 году. Эта версия называется С99. Она включает ряд усовершенствований и несколько новых средств.

Затем в течение многих лет велись работы по выработке новых стандартов языков С и С++, которые завершились в конце 2011г.

В октябре 2011г. вышел новый стандарт языка С++, обозначаемый как C++11. А в декабре 2011г. был принят новый стандарт и для языка С. Эту версию условно называют С11. Новые стандарты уже сейчас поддерживается свободно распространенным компилятором DJGPP.

Компиляторы языка С++ разработаны практически для всех аппаратно-программных платформ. Программы на С++ транслируются в исполняемые модули, работающие под управлением операционных систем UNIX (и ее разновидностей, таких как, LINUX, Solaris), Windows, Mac OS. В отличие от языков C# (Си-Шарп), Java и Visual Basic язык C++ позволяет создавать программы, для выполнения которых не требуется устанавливать на компьютер специальное программное обеспечение, создающее среду исполнения программ.

Настоящее учебное пособие в основном будет ориентироваться на версию Borland C++ 3.11.

 

Структура языка C++.

Обобщенная структура языка С++ дана на рис. 1.

С++
Типы данных
Арифмет.
Веществ.
Целые
Символ.
Перечисления
Стандартные
Простые
Сложные
Операторы
обработки данных: о. ввода/вывода о. выражения о. присваивания о. вызовов функций
Организации обработки данных: -о. передачи управления программой. -о. ветвления -о. циклов -о. пустой -о. составной  
Модули (main, функции)
Средства объектно-ориентированного программирования
Классы Объекты
Массивы
Структуры
Файлы
Объединения
Определенные пользователем
Указатели
Ссылки.
Объекты Объекты
Шаблоны   Объекты
Средства обобщенного программирования
Контейнеры Объекты
Итераторы Объекты

 


Рис. 1. Обобщенная структура языка С++

 

В левой части рисунка представлены средства языка, предназначенные для определения данных, объектов обработки программы. Типы данных определяют свойства данных, их внутреннее представление, возможные операции, которые можно производить с этими данными.

В следующей части рисунка представлены средства языка - операторы, предназначенные,

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

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

Далее на рисунке представлены модули – относительно самостоятельные фрагменты программы для функционально законченной обработки данных, оформленные в виде функций.

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

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.