Книга содержит самые навороченные части C++,
тем самым доказывая его непригодность к
программированию для обычных смертных, а
скорее к удовлетворению собственных амбиций,
как программиста, овладевшего этим
архисложным языком. Книгу стоит прочитать для
того, чтоб мотивированно перестать писать на
C++.
Как обычно, программисту совсем не обязательно пользоваться всеми этими навороченными штуками, ему нужно лишь уметь применять их при необходимости. Именно этому и учит данная книга - сложные техники для трудных ситуаций.
Книга посвящена использованию шаблонов (template) в языке C++ для решения задач проектирования приложений. Именно, автор предлагает использовать шаблоны для разложения сложных классов на несколько простых. Соответственно, аргументы шаблонов будут описывать один из аспектов поведения сложного класса. Данное решение позволяет эффективно повторно использовать созданные компоненты.
Кроме того, автор, по сути, предлагает способы переноса части затратных операций с момента исполнения программы на момент компиляции. Интерес также вызывает то, что в программе на C++ предложен способ организации работы со списками типов во время трансляции (а не исполнения).
Как примеры использования автор предлагает свои реализации части паттернов проектирования.
Уверен, что эту книгу имеет смысл прочитать всем, кто программирует на языке C++. Недостатком книги является то, что она уж очень навязчиво рекламирует созданную Александреску библиотеку.Также следует отметить наличие ошибок перевода в первой части книги
Великолепная книга гениального автора.
>>>В этой книге нет ошибок. Есть только кривые компиляторы, которые стандарт криво держат....
Ошибок там действительно нет, а вот опечатки встречаются довольно часто. По крайней мере в русском издании, оригинальное не читал.
>>> Минусы: довольно таки большое количество опечатков из-за которых приходится проверять примеры на компьютере.
В этой книге нет ошибок. Есть только кривые компиляторы, которые стандарт криво держат....
Хотя сам автор крут. Он когда-то писал вещи которые были правильные, но в природе небыло компиляторов которые это могли. Годы проходили прежде чем кто-то на деле проверял.
Данная книга на ряду с книгой "Шаблоны C++: справочник разработчика" дает глубокий, а главное профессиональный взгляд на проектирование в С++. Это не просто программирование, а программирование на грани возможностей языка, засучив рукава. Осмыслив, скорее всего даже не с первого раза, вы поймете, каков потенциал шаблонов С++ и как превратить свой компилятор в персональный интеллектуально настраиваемый генератор кода, строящий для вас архитектуру и менее абстрактные части проекта. Андрей реализовал несколько общеизвестных паттернов проектирования в виде обобщенных компонентов и вы, расширив его труды, реализуете для себя мечту каждого профессионала - иметь библиотеку, которая пригодится в любом проекте на С++, а это значит максимальное повторное использование кода и минимум усилий!
Книгу, честно говоря, купил "за компанию" с другими. Поскольку уже слышал фамилию Александреску. Но начав со введения не смог оторваться. И постоянно преследовала мысль "не ужели это С++, который, как мне казалось, я знаю, или совсем другой язык программирования?" Поражает не стандартность мышления автора, который находит такие решения, о которых я даже и не подозревал!
В плане программирования на С++ с применением шаблонов эта книга действительно уникальная.
Помогла понять, что о C++ ты таки знаешь мало. :)
Всем интересующимся очень рекомендую зайти на страницу www.moderncppdesign.com
Ссылки на этой странице будут весьма интересны для желающих использовать обсуждаемую в книге библиотеку Loki с компиляторами Microsoft Visual C++ 6 и 7.
Меня книга захватила с самого первого параграфа...
Огромное количество информации о шаблонах (полная и частичная специализации, шаблоны + полиморфные типы, ...) Очень интересно почитать про всевозможные трюки языка. Много практических идей (незавершенных, но абсолютно понятных).
Минусы: довольно таки большое количество опечатков из-за которых приходится проверять примеры на компьютере. К сожаления некоторые примеры не компилируются стандартным майкрософтофским компилятором (к примеру этот компилятор не поддерживает частичную специализацию), но под gnu 2.96 все компилируется
venticello
Как обычно, программисту совсем не обязательно пользоваться всеми этими навороченными штуками, ему нужно лишь уметь применять их при необходимости. Именно этому и учит данная книга - сложные техники для трудных ситуаций.
Александр Глускер
LLI
Unknown
Proteus
Proteus
[email protected]
Сергей
Евгений
Сергей