По кнопке выше «Купить бумажную книгу» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.
По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «ЛитРес» , и потом ее скачать на сайте Литреса.
По кнопке «Найти похожие материалы на других сайтах» можно искать похожие материалы на других сайтах.
On the buttons above you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.
Название: Наиболее эффективное использование C++ — 35 новых рекомендаций по улучшению ваших программ и проектов.
Автор: Мейерс С.
Книга которая является продолжением популярного издания Effective C++, вы сможете узнать, как наиболее эффективно использовать конструкции языка C++, а также рассмотреть способы приведения типов, реализацию механизма RTTI, правила перегрузки операторов и др. В книге представлены рекомендации по применению интеллектуальных указателей, виртуальных конструкторов, буферизованного оператора new, proxy-классов и двойной диспетчеризации. Особое значение уделяется работе с исключениями и возможностям использования кода С в программах, написанных на C++. Детально обрисованы новейшие средства языка и представлено, как с их помощью увеличить производительность программ. Приложения хранят код шаблона auto_ptr и аннотированный список литературы и Internet-ресурсов, посвященных C++.
Архитектура современных FRONTEND приложений. 5 видов. Преимущества и недостатки
Содержание
Введение. 14
Глава 1. Основы. 23
Правило 1. Различайте указатели и ссылки. 23
Правило 2. Предпочитайте приведение типов в стиле C++. 25
Правило 3. Никогда не используйте полиморфизм в массивах. 30
Правило 4. Избегайте неоправданных конструкторов по умолчанию. 33
Глава 2. Операторы. 38
Правило 5. Опасайтесь определяемых пользователем функций преобразования типа. 38
Правило 6. Различайте префиксную и постфиксную формы операторов инкремента и декремента. 45
Правило 7. Никогда не перегружайте операторы , 11 и. 48
Правило 8. Различайте значение операторов new и delete. 51
Глава 3. Исключения. 57
Правило 9. Чтобы избежать утечки ресурсов, используйте деструкторы. 58
Правило 10. Не допускайте утечки ресурсов в конструкторах. 63
Правило 11. Не распространяйте обработку исключений за пределы деструктора. 71
Правило 12. Отличайте генерацию исключения от передачи параметра или вызова виртуальной функции. 73
Правило 13. Перехватывайте исключения, передаваемые по ссылке. 80
Правило 14. Разумно используйте спецификации исключений. 84
Смотрим проекты подписчиков 8 проектов. Оптимизация, ререндеры, memo, useCallback, bundlephobia
Правило 15. Оценивайте затраты на обработку исключений. 90
Глава 4. Эффективность. 94
Правило 16. Не забывайте о правиле «80-20». 95
Правило 17. Используйте отложенные вычисления. 97
Правило 18. Снижайте затраты на ожидаемые вычисления. 106
Правило 19. Изучите причины возникновения временных объектов. 110
Правило 20. Облегчайте оптимизацию возвращаемого значения. 113
Правило 21. Используйте перегрузку, чтобы избежать неявного преобразования типов. 116
Правило 22. По возможности применяйте оператор присваивания вместо отдельного оператора. 118
Правило 23. Используйте разные библиотеки. 121
Правило 24. Учитывайте затраты, связанные с виртуальными функциями, множественным наследованием, виртуальными базовыми классами и RTTI. 124
Глава 5. Приемы. 134
Правило 25. Делайте виртуальными конструкторы и функции, не являющиеся членами класса. 134
Правило 26. Ограничивайте число объектов в классе. 140
Правило 27. В зависимости от ситуации требуйте или запрещайте размещать объекты в куче. 154
Правило 28. Используйте интеллектуальные указатели. 167
Правило 29. Используйте подсчет ссылок. 190
Правило 30. Применяйте proxy-классы. 218
Правило 31. Создавайте функций, виртуальные по отношению более чем к одному объекту. 231
Глава 6. Разное. 254
Правило 32. Программируйте, заглядывая в будущее. 254
Правило 33. Делайте нетерминальные классы абстрактными. 259
Правило 34. Умейте использовать водной программе С и C++. 270
Правило 35. Ознакомьтесь со стандартом языка. 276
Приложение 1. Список рекомендуемой литературы. 284
Приложение 2. Реализация шаблона auto_ptr.
Операторы.
К перегружаемым операторам следует относиться с уважением. Они позволяют применять для типов, определяемых пользователем, такой же синтаксис, как и для встроенных типов, а также обеспечивают неслыханные перспективы благодаря функциям, стоящим за этими операторами. Но возможность заставить такие символы, как + или -, делать все что угодно, означает также, что из-за перегружаемых операторов программы могут оказаться совершенно непонятными. Тем не менее, есть много искусных программистов на C++, которые знают, как использовать мощь перегружаемых операторов, не превратив программу в черный ящик.
Менее искусным, к сожалению, легко совершить ошибку. Конструкторы с единственным аргументом и операторы неявного преобразования типа могут доставить особенно много хлопот, поскольку их вызовы не всегда имеют соответствия в исходных текстах программ. Это ведет к появлению программ, поведение которых понять очень трудно. Другая проблема возникает при перегрузке таких операторов, как и II, потому что переход от встроенных операторов к функциям, написанным пользователем, приводит к незначительным изменениям в семантике, и эти изменения легко проглядеть. Наконец, множество операторов соотносится друг с другом по стандартным правилам, а из-за перегруженных операторов общепринятые соотношения иногда нарушаются.
В изложенных далее правилах я попытался объяснить, когда и как используются перегруженные операторы, как они ведут себя, как должны соотноситься друг с другом и как всем этим можно управлять. Освоив материалы данной главы, вы будете перегружать (или не перегружать) операторы с той же уверенностью, что и настоящий профессионал.
Источник: nashol.me
Скотт Мейерс: Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ
More Effective C++. 35 New Ways to Improve Your Programs and Designs
50 %
Переводчик: Павлов Р. В.
Издательство: ДМК-Пресс, 2016 г.
Цена для всех
Ваша цена (-50%)
ID товара: 411115
ISBN: 978-5-94074-990-5 все , 978-5-97060-193-8 скрыть
Страниц: 298 (Офсет)
Оформление
Масса: 366 г
Размеры: 205x140x17 мм
Оценить (оценило: 9)
Аннотация к книге «Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ»
Автор книги «Наиболее эффективное использование С++» предлагает 35 новых способов улучшения ваших программ. Основываясь на своем многолетнем опыте, С. Мейерс объясняет, как писать наиболее эффективные программы: надежные, совместимые, переносимые и пригодные для повторного использования, то есть про
граммы, безупречные во всех отношениях.
Настоящая книга описывает приемы, которые позволяют значительно повысить производительность программ, выбрав оптимальное соотношение затрат времени/памяти па различные операции. Здесь вы найдете примеры обработки исключений и анализ их влияния на структуру и поведение классов и функций С++, а также варианты практического применения новых возможностей языка, таких как тип bool, ключевые слова mutablе и explicit, пространства имен, шаблоны функций членов, стандартная библиотека шаблонов и многое другое.
1 акция по этому товару сегодня Осталось: 0 2 дня 2 3 часа 50 %
До 23:59 28 июня
Иллюстрации к книге Скотт Мейерс — Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ
Рецензии на книгу «Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ»
- Покупатели 3
Вы можете стать одним из первых, кто напишет рецензию на эту книгу, и получить бонус — до 15 рублей на баланс в Лабиринте! Или оставьте заявку, чтобы кто-то другой написал ее скорее.
(рецензий 3 / оценок +8 )
Понравилось? Да
Материал фундаментален, несмотря на дату написания. Так что не удивляйтесь фразам автора в стиле «на данный момент не все компиляторы поддерживают тип bool». Если вы хотите понимать различные тонкости написания кода на C++, а не просто придерживаться принципа «работает-ну-и-ладно», и если вам важна эффективность ваших программ, то обязательно к прочтению. Вообще рекомендую все книги Мейерса. Ещё не встречал скучных или бесполезных среди них.
Теперь о грустном. Данное.
Материал фундаментален, несмотря на дату написания. Так что не удивляйтесь фразам автора в стиле «на данный момент не все компиляторы поддерживают тип bool». Если вы хотите понимать различные тонкости написания кода на C++, а не просто придерживаться принципа «работает-ну-и-ладно», и если вам важна эффективность ваших программ, то обязательно к прочтению. Вообще рекомендую все книги Мейерса. Ещё не встречал скучных или бесполезных среди них.
Теперь о грустном. Данное издание убого с типографической точки зрения. Постоянно приходится поправлять опечатки карандашом. Иногда в коде пропущены целые выражения, что делает его синтаксически неприемлемым, и встречаются ошибки уж совсем нелепые для редакции. Например, фраза «вызывается исключение::what() и никогда Validation_error::what()» (под первым подразумевается exception::what() ). Сами блоки кода оформлены тоже крайне неудобно для чтения: пробелы между словами по размеру часто сопоставимы с расстояниями между буквами, отчего всё сливается в одно слово («voiddoSomething()») . Трояк за качество печати. Скрыть
Источник: www.labirint.ru
Наиболее эффективное использование C++. 35 новых рекомендаций по улучшению ваших программ и проектов
В новой книге С. Мейерса, которая является продолжением популярного издания Effective C++, приводятся рекомендации по наиболее эффективному использованию конструкций языка C++. Рассматриваются правила перегрузки операторов, способы приведения типов, реализация механизма RTTI и многое другое.
Даны практические советы по применению буферизованного оператора new, виртуальных конструкторов, интеллектуальных указателей, proxy-классов и двойной диспетчеризации. Особое внимание уделяется работе с исключениями и возможностям использования кода С в программах, написанных на C++. Подробно описаны новейшие средства языка и показано, как с их помощью повысить производительность программ. Приложения содержат код шаблона autojptr и аннотированный список литературы и Internet-ресурсов, посвященных C++.
Источник: libcats.org