Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639001)
Контекстум
Электро-2024

Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ и проектов (3000,00 руб.)

0   0
Первый авторМейерс
ИздательствоМ.: ДМК Пресс
Страниц298
ID836309
АннотацияАвтор книги «Наиболее эффективное использование C++» предлагает 35 новых способов улучшения ваших программ. Основываясь на своем многолетнем опыте, С. Мейерс объясняет, как писать наиболее эффективные программы: надежные, совместимые, переносимые и пригодные для повторного использования, то есть программы, безупречные во всех отношениях. Настоящая книга описывает приемы, которые позволяют значительно повысить производительность программ, выбрав оптимальное соотношение затрат времени/памяти на различные операции. Здесь вы найдете примеры обработки исключений и анализ их влияния на структуру и поведение классов и функций C++, а также варианты практического применения новых возможностей языка, таких как тип bool, ключевые слова mutable и explicit, пространства имен, шаблоны функций членов, стандартная библиотека шаблонов и многое другое.
ISBN978-5-89818-563-3
Мейерс, С. Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ и проектов / С. Мейерс .— Москва : ДМК Пресс, 2023 .— 298 с. — ISBN 978-5-89818-563-3 .— URL: https://rucont.ru/efd/836309 (дата обращения: 16.06.2024)

Предпросмотр (выдержки из произведения)

Наиболее_эффективное_использование_С++._35_новых_рекомендаций_по_улучшению_ваших_программ_и_проектов.pdf
УДК 004.438 ББК 32.973.26-018.2 М97 М97 Мейерс, Скотт. Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ и проектов / С. Мейерс ; пер. с англ. Р. В. Павлова. — 2-е изд., эл. — 1 файл pdf : 298 с. — Москва : ДМК Пресс, 2023. — (Для программистов). — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-563-3 Автор книги «Наиболее эффективное использование C++» предлагает 35 новых способов улучшения ваших программ. Основываясь на своем многолетнем опыте, С. Мейерс объясняет, как писать наиболее эффективные программы: надежные, совместимые, переносимые и пригодные для повторного использования, то есть программы, безупречные во всех отношениях. Настоящая книга описывает приемы, которые позволяют значительно повысить производительность программ, выбрав оптимальное соотношение затрат времени/ памяти на различные операции. Здесь вы найдете примеры обработки исключений и анализ их влияния на структуру и поведение классов и функций C++, а также варианты практического применения новых возможностей языка, таких как тип bool, ключевые слова mutable и explicit, пространства имен, шаблоны функций членов, стандартная библиотека шаблонов и многое другое. УДК 004.438 ББК 32.973.26-018.2 Электронное издание на основе печатного издания: Наиболее эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ и проектов / С. Мейерс ; пер. с англ. Р. В. Павлова. — Москва : ДМК Пресс, 2016. — 298 с. — (Для программистов). — ISBN 978-5-97060-193-8. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-563-3 © Pearson Education, Inc © Перевод на русский язык, оформление, издание, ДМК Пресс, 2016
Стр.5
Содержание Благодарности ............................................................................................ 9 Источники идей ........................................................................................... 9 Об этой книге ............................................................................................ 11 Люди, которые мне помогали .................................................................... 13 Введение .......................................................................................................... 14 Глава 1. Основы ............................................................................................. 23 Правило 1. Различайте указатели и ссылки ............................................... 23 Правило 2. Предпочитайте приведение типов в стиле С++ ........................ 25 Правило 3. Никогда не используйте полиморфизм в массивах .................. 30 Правило 4. Избегайте неоправданного использования конструкторов по умолчанию ............................................................................................ 33 Глава 2. Операторы ...................................................................................... 38 Правило 5. Опасайтесь определяемых пользователем функций преобразования типа ................................................................................ 38 Правило 6. Различайте префиксную и постфиксную формы операторов инкремента и декремента ......................................................................... 45 Правило 7. Никогда не перегружайте операторы &&, || и ,......................... 48 Правило 8. Различайте значение операторов new и delete ......................... 51 Глава 3. Исключения .................................................................................... 57 Правило 9. Чтобы избежать утечки ресурсов, используйте деструкторы .............................................................................................. 58 Правило 10. Не допускайте утечки ресурсов в конструкторах .................... 63 Правило 11. Не распространяйте обработку исключений за пределы деструктора .............................................................................................. 71 Правило 12. Отличайте генерацию исключения от передачи параметра или вызова виртуальной функции ............................................ 73 Правило 13. Перехватывайте исключения, передаваемые по ссылке ........ 80 Правило 14. Разумно используйте спецификации исключений .................. 84 Правило 15. Оценивайте затраты на обработку исключений ...................... 90
Стр.7
Содержание 7 Глава 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. Умейте использовать в одной программе С и С++................ 270 Правило 35. Ознакомьтесь со стандартом языка ..................................... 276 Приложение 1. Список рекомендуемой литературы .....................................................................................................284 Приложение 2. Реализация шаблона auto_ptr .................................289 Алфавитный указатель ..............................................................................293
Стр.8

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст