Динамо-машины  Метод Сократа 

1 2 3 [ 4 ] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

Новые сложные задачи на С++

40 новых головоломных примеров с решениями

Герб Cammep

вильяис

Издательский дом Вильяме Москва Санкт-Петербург Киев 2005



ББК 32.973.26-018.2.75

С21 УДК 681.3.07

Издательский дом Вильяме

Зав. редакцией С.Я. Тригуб

Перевод с английского и редакция канд. техн. наук И.В. Красикова

Научный консультант канд. техн. наук А.И. Кротов

По общим вопросам обращайтесь в Издательский дом Вильяме по адресу: info@williamspublishing.eom, http: www.williamspublishing.com 115419, Москва, а/я 783; 03150, Киев, а/я 152

Саттер, Герб.

С21 Новые сложные задачи на С++. : Пер. с англ. - М. : Издательский дом Вильяме , 2005. - 272 с. : ил. - Парад, тит. англ.

ISBN 5-8459-0823-Х (руе.)

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

Книга рассчитана в первую очередь на профессиональных программистов с глубокими знаниями языка, однако она будет полезна любому, кто захочет углубить свои знания в данной области.

ББК 32.973.26-018.2.75

Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм.

Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства Addison-Wesley Publishing Company, Inc.

Authorized translation from the English language edition published by Prentice Hal!, Copyright copy; 2005 All rights reserved. No part of this boolc may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher.

Russian language edition was published by Williams Publishing House according to the Agreement with R amp;I Enterprises Internationa!, Copyright copy; 2005

ISDN 5-8459-0823-X (рус.) copy; Издательский дом Вильяме , 2005

ISBN 0-201-76042-8 (англ.) copy; Pearson Education, Inc., 2004



Тине, моей жене и лучшему другу

предисловие

Место действия: Будапешт. Жаркий летний вечер. Мы смотрим через Дунай, на восточный берег реки.

На обложке книги вы видите фото, на котором изображена эта пастельная европейская

картина. Что первое бросается вам в глаза? Почти наверняка.......здание парламента в левой

части фотофафии. Массивное неоготическое здание приковывает взгляд своим изящным куполом, массой вычурных шпилей, десятками статуй и прочими украшениями, контрастируя с простыми строгими линиями зданий на набережной Дуная.

Откуда же такое отличие? Строительство здания парламента было завершено в !902 году, в то время как остальные здания на набережной были построены в разрушенном Будапеште после второй мировой войны.

Ну и что же, - скажете вы, -- какое отношение это имеет к книге?

Стиль........это всегда нечто большее, чем просто внешний вид, и за ним скрывается целая философия и мировоззрение.........будь то в архитектуре строительства или в архитектуре

профаммного обеспечения. Я думаю, что вам попадались программы, напоминающие своей пышностью и размерами здание парламента, равно как уверен, что вам доводилось видеть и профаммы, напоминающие блоч1Ю-панельное строительство.

Стиль или суть?

Что же важнее? Чему лучше и правильнее отдать предпочтение? Вы уверены, что знаете точный ответ на этот вопрос? Так, понятие лучше лишено смысла, пока не определена мера, которой следует мерить. Лучше для чего? Лучше в какой ситуации? Скорее всего, ответ на этот вопрос представляет собой определенный компромисс и начинается со слов Это зависит от...

Это книга о поиске баланса между многими мелкими аспектами дизайна и реализации программ на С+ + . Глубокое знание ваших инструментов и исходных материалов весьма способствует пониманию того, когда их стоит использовать.

Так лучше ли здание парламента и его стиль, чем у зданий, находящихся рядом с ним? Очень легко, не думая, ответить да . Но ответ должен основываться не только на эмоциях, но и на логике. Представьте, насколько не просто построить такое здание и поддерживать его в должном состоянии,

Строительство. В 1902 году, когда закончилось его строительство, это здание было самым большим в мире зданием парламента. Эта грандиозность, конечно же. сказалась на его стоимости, продолжительности строительства и количестве затраченных усилий. Так был создан белый слон , т.е. нечто интересное само по себе, но со стоимостью, которую не оправдывает никакой интерес. Как вы думаете, сколько обычного жилья, которое пусть и не потрясает воображение.



1 2 3 [ 4 ] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90