На обложке книги вы видите фото, па котором изображена эта пастельная европейская картина. Что первое бросается вам в глаза? Почти наверняка — здание парламента в левой части фотографии. Массивное неоготическое здание приковывает взгляд своим изящным куполом, массой вычурных шпилей, десятками статуй и прочими украшениями, контрастируя с простыми строгими линиями зданий на набережной Дуная.
Откуда же такое отличие? Строительство здания парламента было завершено в 1902 году, в то время как остальные здания на набережной были построены в разрушенном Будапеште после второй мировой войны.
"Ну и что же, — скажете вы, — какое отношение это имеет к книге?"
Стиль — это всегда нечто большее, чем просто внешний вид, и за ним скрывается целая философия и мировоззрение — будь то в архитектуре строительства или в архитектуре программного обеспечения. Я думаю, что вам попадались программы, напоминающие своей "пышностью" и размерами здание парламента, равно как уверен, что вам доводилось видеть и программы, напоминающие блочно-панельное строительство.
Данная книга представляет собой продолжение вышедшей ранее книги Решение сложных задач на C++. В форме задач и их решений рассматриваются современные методы проектирования и программирования на C++. В книге сконцентрирован богатый многолетний опыт программирования на C++ не только самого автора, но и всего сообщества программистов на C++, так что некоторые рекомендации автора могут показаться неожиданными даже опытным программистам-профессионалам. Автор рассматривает и конкретные методики, приемы и идиомы программирования, однако основная тема книги — это стиль программирования, причем в самом широком понимании этого слова. Особое внимание во всех задачах книги уделено вопросу проектирования, которое должно обеспечить максимальную надежность, безопасность, производительность и сопровождаемость создаваемого программного обеспечения.
Книга рассчитана в первую очередь на профессиональных программистов с глубокими знаниями языка, однако она будет полезна любому, кто захочет углубить свои знания в данной области.