Актуально ли сейчас метапрограммирование на С++?

Актуально ли сейчас метапрограммирование на С++? Если да,то по каким книгам или ресурсам стоит его изучать ?
  • Вопрос задан
  • 284 просмотра
Решения вопроса 1
@Ariox41
Если вы про метопрограммирование шаблонов, то да - актуально. Более того, комитет по стандартизации прикладывает некоторые усилия для того, чтобы метопрограммирование в c++ стало проще для понимания и использования, т.к. это в конечном итоге позволяет повысить качество кода. В стандартной библиотеке сейчас на самом деле довольно часто прямо или косвенно используется метопрограммирование, например, при формировании условий для SFINAE, или для таких вещей, как `std::bind` и `std::variant`. Конечно, на практике обычно достаточно того, что уже есть в библиотеках, но не всегда.

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

Если вы всё же хотите изучать метопрограммирование, для начала рекомендую ознакомится с этой статьёй: Simple C++11 metaprogramming, а далее изучать boost::hana (т.к. там довольно хорошая документация).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы