Воркшоп: Метапрограммирование в действии (часть 2)

RU / День 1 / 12:30 / Зал 3

Мастер-класс посвящён метапрограммированию и охватывает следующий круг тем:

  • что такое метапрограммирование;
  • примитивные техники метапрограммирования;
  • метапрограммирование на основе constexpr;
  • шаблоны функций и классов, правила инстанцирования шаблонов, полные и частичные специализации;
  • классы свойств и их использование в метапрограммировании;
  • метапрограммирование на основе SFINAE;
  • средства стандартной библиотеки для метапрограммирования (void_t, enable_if и др.);
  • инструменты метапрограммирования в библиотеке Boost;
  • пример: математические вычисления на этапе компиляции;
  • пример: обработка списков на этапе компиляции.

Почему этот доклад в программе

Чем хорош спикер: Вадим — практикующий программист на С++ с огромным опытом академического преподавания, большой энтузиаст функционального программирования, автор и переводчик книг. Умеет рассказать о сложных темах просто, но увлекательно: богатым и небанальным языком.

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

Кому будет полезно: Практикующим программистам, желающим обогатить арсенал своих техник приемами метапрограммирования для решения, к примеру, задач сериализации либо обработки коллекций.

Почему здесь и сейчас: Метапрограммирование зачастую считается слишком сложным, чтобы им заниматься, но Вадим покажет что мощь метапрограммирования недооценивается, а сложности — преувеличиваются. Практическое применение метапрограммирования позволит создавать более логичный и эффективный код, а его изучение повысит понимание языка C++ в целом.