Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
maks242
46 / 20 / 7
Регистрация: 01.11.2013
Сообщений: 233
Завершенные тесты: 2
29.07.2016, 00:41     Применение метапрограммирования #1
Доброго времени суток форумчане. Собственно говоря, как часто применимо метапрограммирование в современном мире разработок на C++. И имеет ли оно большое значение в профессиональных сферах программирования?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2016, 00:41     Применение метапрограммирования
Посмотрите здесь:

применение c++ C++
C++ Рекурсия и её применение
C++ Применение
C++ Применение итераторов
C++ Применение указателей
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fulcrum_013
 Аватар для Fulcrum_013
393 / 566 / 60
Регистрация: 14.12.2014
Сообщений: 4,769
Завершенные тесты: 2
29.07.2016, 01:42     Применение метапрограммирования #2
Цитата Сообщение от maks242 Посмотреть сообщение
Собственно говоря, как часто применимо метапрограммирование в современном мире разработок на C++
Постоянно.
Цитата Сообщение от maks242 Посмотреть сообщение
И имеет ли оно большое значение в профессиональных сферах программирования?
Есть такой термин - копи-пастинг программирование. Т.е. есть какой-то алгоритм. В нем к примеру меняется какая то мелочь, вроде типа данных который он обрабатывает. Соответсвенно этот алгоритм копируют изменяя тип данных. В результате получается огромное количество одинакового кода который в случае чего очень тяжело поменять.
Суть метопрограммирования в том что весь этот копи-пастинг по шаблону вменяется в обязанность компилятору во время компиляции. т.е. в результате в тексте остается один шаблон, который в случае чего модифицировать не проблема.
Практически вся инфраструктурная часть (структуры хранения данных и т.д) обычно держится на шаблонах(метопрограммировании), в результате при правильной архитектуре количество потребного кода уменьшается в разы. При этом не надо думать что все возможные структуры и т.п. уже запрограммированы. Это просто напросто невозможно. та же STL содержит самые простейшие структуры по простейшей концепции, то есть для мелких задач. а для серьезных систем обычно инфраструктуру с нуля делают именно под потребности задачи. К примеру даже строки и динамические массивы у каждого производителя оконных фреймверков свои, а не из STL.
shilko2013
 Аватар для shilko2013
238 / 215 / 116
Регистрация: 02.04.2016
Сообщений: 814
Завершенные тесты: 1
29.07.2016, 09:04     Применение метапрограммирования #3
Мне понравилась идея метапрограммирование шаблонов, но всегда получается юзать)
maks242
46 / 20 / 7
Регистрация: 01.11.2013
Сообщений: 233
Завершенные тесты: 2
29.07.2016, 09:43  [ТС]     Применение метапрограммирования #4
Извиняюсь, я немного неправильно выразился. Меня интересует метапрограммирование шаблонов, а не просто шаблоны. Как часто применяется метапрограммирование шаблонов в современном мире?
shilko2013
 Аватар для shilko2013
238 / 215 / 116
Регистрация: 02.04.2016
Сообщений: 814
Завершенные тесты: 1
29.07.2016, 12:20     Применение метапрограммирования #5
maks242, Кто как хочет, так и делает.
Yandex
Объявления
29.07.2016, 12:20     Применение метапрограммирования
Ответ Создать тему
Опции темы

Текущее время: 03:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru