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

Недостатки шаблонов

Читайте также:
  1. В случае проведения капитального ремонта общего имущества многоквартирного дома некачественно на управляющую организацию возлагается обязанность устранить недостатки.
  2. В чем заключаются преимущества и недостатки линейной модели коммуникации?
  3. Достоинства и Недостатки
  4. Какие недостатки мужчин женщины пытаются изменить?
  5. Лучший учитель — тот, кто резко указывает на твои недостатки.
  6. Международное право и санкции. Роль международных санкций как одного из способов воздействия на конфликтующие стороны. Их недостатки.
  7. Наши недостатки не так страшны, как их малюют.

(короче, этот вопрос не конкретный и по нему ничего нет. Почти. Так что скидываю, что нашла)

Шаблонное метапрограммирование в С++ страдает от множества ограничений, включая такие проблемы, как портируемость, отсутствие поддержки отладки или ввода/вывода в процессе инстанцирования (Инстанцирование (англ. instantiation) —создание экземпляра класса. В отличие от слова «создание»,применяется не к объекту, а к классу, говорят «(в виртуальной среде) создать экземпляр класса илиинстанцировать класс») шаблонов, длительное время компиляции, низкая читабельность кода, скудная диагностика ошибок и малопонятные сообщения об ошибках. Подсистема шаблонов С++ определяется как полный по Тьюрингу чистый функциональный язык программирования, но программисты в функциональном стиле считают это провокацией и не спешат признавать С++ успешным языком.

Многие языки (Java 5, Ада, Delphi 2009) реализуют поддержку обобщённого программирования более простым способом, некоторые даже на уровне системы типов (см. Eiffel, а также параметрический полиморфизм в языках семейства ML); такие языки не нуждаются в механизмах, похожих на шаблоны С++.

Средства макроподстановки в Си, хоть и не обладают Тьюринг-полнотой, представляют собой достаточное для низкоуровневого программирования средствопорождающего программирования, и в C99 их возможности были существенно расширены.

Язык D обладает шаблонами, более мощными, чем C++.

Шаблоны представляют собой мощное и эффективное средство обращения с различными типами данных, которое можно назвать параметрическим полиморфизмом, обеспечивают безопасное использование типов, в отличие от макросов препроцессора, и являются вкупе с шаблонами функций средством реализации идей обобщенного программирования и метапрограммирования. Однако следует иметь в виду, что эти средства предназначены для грамотного использования и требуют знания многих тонкостей. Программа, использующая шаблоны, содержит код для каждого порожденного типа, что может увеличить размер исполняемого файла. Кроме того, с одними типами данных шаблоны могут работать не так эффективно, как с другими. В этом случае имеет смысл использовать специализацию шаблона (Павловская Т. А., Щупак Ю.А С/С++. Структурное и объектно-ориентированное программирование: Практикум – этот учебник есть в папке у Белодеда. Там есть про специализацию, но очень много)

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


Дата добавления: 2015-09-03; просмотров: 75 | Нарушение авторских прав


Читайте в этой же книге: Длина самого длинного слова 10 | Самое длинное слово beautiful | Строковые потоки | Состояние формата (ОТНОСИТСЯ К ПОСЛЕДНЕМУ ВОПРОСУ, КОТОРЫЙ 24) | Работа с несовместимыми конструкциями. | Стандартный класс string. Зарезервированные слова и опции меню. | Стандартный класс string. Операции ввода-вывода строк. | Описание таблицы акселераторов | Специализация шаблонов класса | Схемы отображения шрифтов |
<== предыдущая страница | следующая страница ==>
Заметки| Стандартная библиотека шаблонов (STL). Назначение и состав библиотеки. Контейнеры. Последовательные контейнеры. Векторы.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)