Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
maks242
46 / 20 / 7
Регистрация: 01.11.2013
Сообщений: 245
Завершенные тесты: 4
#1

Применение метапрограммирования - C++

29.07.2016, 00:41. Просмотров 362. Ответов 4
Метки нет (Все метки)

Доброго времени суток форумчане. Собственно говоря, как часто применимо метапрограммирование в современном мире разработок на C++. И имеет ли оно большое значение в профессиональных сферах программирования?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2016, 00:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Применение метапрограммирования (C++):

Паттерны метапрограммирования шаблонов - C++
Нигде не могу найти литературу по паттернам метапрограммирования шаблонов, александреску не предлагать)) конкретно не могу понять как...

Библиотека метапрограммирования - C++
Увлекшись метапрограммированием, начатым в предыдущей теме, я решил написать небольшую библиотеку метафункций. Изначально всё это...

Применение - C++
Возможно вы посчитаете данный вопрос глупым. Но я его задам. Где можно применять C++ и C программисту, при этом не используя GUI? И...

применение c++ - C++
в 1 семестре начали проходить с++ за сем дошли до указателей (во 2 их начнем) прошли: типы, константы, операции, функции (передача по...

Применение цикла do-while - C++
Здравствуйте. Хочу зациклить выполнение функции до тех пор, пока не будет выполнено условие, но не получается. Программа успешно...

Применение цикла for - C++
Недавно начал учить C++, дошел до циклов. while, do while понимаю, а вот for ну хоть убей не понимаю, вроде был разобрался, а потом снова...

4
Fulcrum_013
Заблокирован
29.07.2016, 01:42 #2
Цитата Сообщение от maks242 Посмотреть сообщение
Собственно говоря, как часто применимо метапрограммирование в современном мире разработок на C++
Постоянно.
Цитата Сообщение от maks242 Посмотреть сообщение
И имеет ли оно большое значение в профессиональных сферах программирования?
Есть такой термин - копи-пастинг программирование. Т.е. есть какой-то алгоритм. В нем к примеру меняется какая то мелочь, вроде типа данных который он обрабатывает. Соответсвенно этот алгоритм копируют изменяя тип данных. В результате получается огромное количество одинакового кода который в случае чего очень тяжело поменять.
Суть метопрограммирования в том что весь этот копи-пастинг по шаблону вменяется в обязанность компилятору во время компиляции. т.е. в результате в тексте остается один шаблон, который в случае чего модифицировать не проблема.
Практически вся инфраструктурная часть (структуры хранения данных и т.д) обычно держится на шаблонах(метопрограммировании), в результате при правильной архитектуре количество потребного кода уменьшается в разы. При этом не надо думать что все возможные структуры и т.п. уже запрограммированы. Это просто напросто невозможно. та же STL содержит самые простейшие структуры по простейшей концепции, то есть для мелких задач. а для серьезных систем обычно инфраструктуру с нуля делают именно под потребности задачи. К примеру даже строки и динамические массивы у каждого производителя оконных фреймверков свои, а не из STL.
0
shilko2013
244 / 221 / 118
Регистрация: 02.04.2016
Сообщений: 855
Завершенные тесты: 1
29.07.2016, 09:04 #3
Мне понравилась идея метапрограммирование шаблонов, но всегда получается юзать)
0
maks242
46 / 20 / 7
Регистрация: 01.11.2013
Сообщений: 245
Завершенные тесты: 4
29.07.2016, 09:43  [ТС] #4
Извиняюсь, я немного неправильно выразился. Меня интересует метапрограммирование шаблонов, а не просто шаблоны. Как часто применяется метапрограммирование шаблонов в современном мире?
0
shilko2013
244 / 221 / 118
Регистрация: 02.04.2016
Сообщений: 855
Завершенные тесты: 1
29.07.2016, 12:20 #5
maks242, Кто как хочет, так и делает.
0
29.07.2016, 12:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2016, 12:20
Привет! Вот еще темы с ответами:

применение typedef - C++
Какова роль "*node"(последняя строка) в данном случае? typedef struct rbtree_node { enum color color; void *key; void *value; ...

Применение итераторов - C++
Подскажите пожалуйста, в чем практичность итераторов, то бишь для чего нужны они в программах?

Применение указателей - C++
Доброй ночи. Встретил вот такое выражение в книге и не могу понять что к чему: Distance& dist = *(new Distance); После чего можно...

Рекурсия и её применение - C++
Такая задачка попалась: Напишите программу, которая запрашивает число и показатель степени. Напишите рекурсивную функцию, которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.