воскресенье, 17 октября 2010 г.

Впечатления о книге C++ Template Metaprogramming

После ознакомления с Beyond the C++ Standart Library сразу начал читать C++ Template Metaprogramming. Что хочу сказать: эта книга must read для любого уважающего себя программиста на С++ (жаль что мне она попалась так поздно).

Теперь подробности. В отличии от Beyond the C++ Standart Library книга написана намного более интересным и сложным английским языком. Это естественно можно рассматривать как плюс или минус в зависимости от уровня знания языка :).

Книга описывает метапрограммирование начиная с самых основ (что такое шаблонный метод, шаблонная функция и т.п.) и заканчивая созданием своего собственного DESL  по поддержки state machine в коде C++.

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

Есть очень полезное приложение о программирование препроцессора - есть надежда что большая часть этой черной магии будет не нужна при появлении C++0x.

Метапрограммирование является альфой и омегой библиотеки boost, а mpl - его основной библиотекой, на которой построены многие другие. Может быть mpl и не понадобится сразу в каждодневном программировании (мой случай), но знать как это все устроено и при необходимости уметь применять - просто необходимо, я считаю.

Комментариев нет:

Отправить комментарий