![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
![]() Рецензия на главы из книги „Новые сложные задачи на C++“ Автор: Герб Саттер. ISBN 5-8459-0823-X http://www.williamspublishing.com/Books/5-8459-0823-X.html Вот главы предоставленные издательством: Оптимизация и эффективность Изучение конкретных примеров В главе «Оптимизация и эффективность» автор рассматривает три вопроса: об использовании ключевого слова const, ключевого слова inline и об эффективности использования памяти для хранения данных программы. Довольно убедительно показано, что использование ключевого слова const практически никак не влияет на способность компилятора повысить быстродействие кода программы, в то время как многие программисты считают иначе. Чтение раздела, посвященного вопросам встраивания кода (inlining), позволило мне шире взглянуть на устройство современных компиляторов. Так в главе показано, что не только сам компилятор генерирует исполняемый код, но впоследствии и редактор связей (linker) может вносить в него свои коррективы. На своем опыте неоднократно убеждался в том, что, например, Borland C++ 5.5 при компиляции выдает ассемблерный код, которого вы потом не находите в результирующем загрузочном модуле. Жаль только, что часто вы об этом и не подразумеваете. А это может приводить к трудноуловимым проблемам, особенно в embedded приложениях. Ну, и, наконец, вопрос об эффективности упаковки данных – это отличная иллюстрация того, как полезно перед собственно написанием программы продумать ее структуру. Глава «Изучение конкретных примеров» вызвала у меня противоречивые чувства. С одной стороны действительно полезно разобрать и оценить положительные и отрицательные стороны программ, написанных другими людьми, попробовать найти пути их улучшения. С другой стороны, представляется не слишком серьезным, поиск описок и пропуск букв в названиях включаемых файлов. Автор неоднократно рекомендует интенсивнее использовать элементы стандартных библиотек для повышения удобочитаемости программного кода. Но ведь многие программисты из своего опыта знают, что часто элементы стандартных библиотек у разных компиляторов могут быть реализованы не слишком эффективно и собственная оптимизация пары функций может дать существенный выигрыш в скорости работы всей программы. Тем не менее, я с интересом прочитал эти две главы книги, любезно предоставленные издательством «Диалектика-Вильямс» и надеюсь, что и в остальных главах читатели найдут много полезных сведений для своей практической работы. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Эта книга как первая чать, да что там, вся серия выше всяких похвал.
Что касается непосредственно "Новых сложных задач", то мне она показалась менее содержательной чем первая. Нет, это не минус, просто в первой было больше вещей охвачено, больше областей затронуто. А так, Саттер отличный программист, и как не странно, очень хороший автор книг. Рекомендую всем, столько тонкостей и нюансов языка вы не узнаете больше нигде! ![]() |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Комментарии Сергея Деревяго к переводу книг Herb Sutter "Excetional C++" и "More Excetional C++"
Страница Сергея Деревяго, посвящённая C++ Это сообщение отредактировал(а) SergeCpp - 13.12.2006, 17:52 |
|||
|
||||
schmidt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 3.6.2006 Репутация: нет Всего: нет |
А где можна найти его первую книгу, тоесть не ту которая Новый сложные задачи на С++ ? Поделистесь плз ссылочкой
|
|||
|
||||
Sunr1se |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 1 Всего: 13 |
http://anatolix.naumen.ru/Books/ExceptionalCPP?v=11d
А вот она же, но на русском: http://prolaz-team.info/files/books/Gerb%2...%20na%20C++.rar Это сообщение отредактировал(а) Sunr1se - 12.8.2006, 17:46 --------------------
IRC-канал Винграда |
|||
|
||||
WERITAS |
|
|||
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Эээ...а где пароль в RAR-архиву?
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
itan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 3.7.2006 Репутация: нет Всего: нет |
||||
|
||||
patience |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 18.9.2006 Репутация: нет Всего: нет |
можно пароль на архив?
зарание спасибо. |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Какой архив? Почитать можно только две представленные главы... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
likehood |
|
|||
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: 8 Всего: 24 |
||||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Это ссылка на "Решение сложных задач на C++". Это другая (более старая) книга. А та что на bookshelf выдаёт HTTP 403 (нет прав). То же видим даже на просто www.bookshelf.ru. Если у кого-то есть электронная русская версия - просьба выложить. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Вспомнил сейчас про эту тему. У меня есть эта книга в электронном виде (на русском). Если кому интересно, могу выложить, вот только не знаю куда (здесь она вряд ли пройдёт ограничение по размеру).
|
|||
|
||||
zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
Осилил вчера таки эту книжку до конца =) Must read.
--------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
paSha_X |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 5.12.2006 Где: Беларусь, Минск Репутация: 1 Всего: 2 |
На сайте www.prolaz-team.info есть сообщение по этому поводу: "Все пароли на книги хранятся на сайте, не доставайте админов...............", под ним есть комментарии там написан пароль... ЗС на всякий случай сдесь его не писал Это сообщение отредактировал(а) paSha_X - 19.12.2006, 19:07 |
|||
|
||||
PoloS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 29.12.2006 Где: МО, г. Одинцово Репутация: 1 Всего: 5 |
в предисловии к книге встретил вот что:
одинаково ли действие "f(a++);" и "f(a); ++a;". Ответ нет. не могу понять почему? ![]() |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
PoloS, попробуй откомпилировать следующий код:
|
|||
|
||||
RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: нет Всего: 1 |
компилил в билдере) а = 2 )))) Это сообщение отредактировал(а) RatHat - 12.1.2007, 17:14 --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
ну так он предупреждение выдает, тогда скажем так:
|
|||
|
||||
Xenon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Фишка,я так понимаю, в void f( int &a ) При void f( int a ) вроде как, точно пофиг
|
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
![]() Это сообщение отредактировал(а) zkv - 12.1.2007, 17:56 |
|||
|
||||
Vsts |
|
||||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 10.1.2007 Репутация: нет Всего: 1 |
это нармальными компиляторами не собираеться...вот так лучше
Это сообщение отредактировал(а) Vsts - 12.1.2007, 19:59 |
||||
|
|||||
PoloS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 29.12.2006 Где: МО, г. Одинцово Репутация: 1 Всего: 5 |
Спасибо, разобрался =)
|
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Зато иногда приятно ощущать себя идиотом
![]() |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
scai, наш форум сотрудничает с издательством, поэтому ссылки на халяву не приветствуются.
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Вот представляю еще одну задачку. Где-то в инете нарыл:
Есть две деревни: деревня магов и деревня гномов. Раз в год маги проходят по деревне гномов и выстраивают их по росту в возрастающем порядке, так что каждый гном может видеть только тех, кто ниже его самого. У магов неограниченное количество чёрных и белых шляп. Они одевают белую или черную шляпу на голову каждого гнома. Затем, начиная с самого высокого гнома (в конце шеренги), они спрашивают его, какого цвета шляпа не нём надета. Если гном ошибается, маги убивают его (другие гномы слышат его ответ, но не могут определить, был ли он убит или нет). Какой стратегии должны придерживаться гномы, чтобы минимизировать количество убиенных гномов? Каково максимальное количество гномов, которые будут убиты при использовании оптимальной стратегии? Мне сюжет понравился. Как в сказке какой-то...интересно та как ) Интересно у кого какой ответ ) Это сообщение отредактировал(а) andrew_121 - 15.6.2008, 18:37 -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
andrew_121, а причем тут С++ и Саттер с его книгами
![]() |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
Lazin - У него в книге этой задачи НЕТ. Ну вот, дополнил )))
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: -1 Всего: 1 |
если придерживаться стандартной логики, рядом стоящий гном уж точно знал какая у того шляпа, и прекрасно видел замочили его другана или нет.. он шепчет на ухо рдом стоящему о цвете его шляпы, а тот ему.. так делает вся коллона.. при учете, что ни один гном не делжал зла на рядом стоящего и дал ему правильную информацию (либо он перепроверил ее у гнома с другой стороны) может пострадать только один гном (которого первого спросили, которому не успели шепнуть).. уж больно, что-то просто.. тут должен быть какой-то подвох.. ![]() -------------------- undefined |
|||
|
||||
bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: нет Всего: 3 |
Вообще-то задача решается с помощью четности.
При правильной стратегии максимум умрет 1 гном. Добавлено через 1 минуту и 57 секунд гномы не согут переговариваться между собой Добавлено через 3 минуты и 54 секунды Стратегия такая: Гном считает количество черных шляп, и если их количество четное, то он говорит черная, если нет то белая Следующий гном слыша, что сказал предидущий делает вывод. Считает шляпы, которые видит сам, если четность изменилась, значит на нем черная шляпа, если нет - белая. Это сообщение отредактировал(а) bronislav - 15.6.2008, 21:13 -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
rrrFer |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.5.2008 Где: Красноярск Репутация: 1 Всего: 1 |
удалено(не заметил)
Это сообщение отредактировал(а) rrrFer - 26.6.2008, 10:28 |
|||
|
||||
triclosan |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: 1 Всего: 12 |
+5коп.
книга легко читается - проскакивает хороший юмор, несмотря на то, что в ней поднимаются серьезные и тонкие вопросы. Видимо это в первую очередь заслуга литредактора. Оригинал не смотрел, любопытно как там. |
|||
|
||||
disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: нет Всего: 3 |
Литредакторы смысл не правят - только исправляют стилистику - ну, например, слишком частые повторения слов и т.п. Но добавить какой-то юмор литредакторы не могут. Так что юмор - это заслуга автора и переводчика... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |