Название: Наиболее эффективное использование C++ - 35 новых рекомендаций по улучшению ваших программ и проектов.
Автор: Мейерс С.
2000.
Книга которая является продолжением популярного издания Effective C++, вы сможете узнать, как наиболее эффективно использовать конструкции языка C++, а также рассмотреть способы приведения типов, реализацию механизма RTTI, правила перегрузки операторов и др. В книге представлены рекомендации по применению интеллектуальных указателей, виртуальных конструкторов, буферизованного оператора new, proxy-классов и двойной диспетчеризации. Особое значение уделяется работе с исключениями и возможностям использования кода С в программах, написанных на C++. Детально обрисованы новейшие средства языка и представлено, как с их помощью увеличить производительность программ. Приложения хранят код шаблона auto_ptr и аннотированный список литературы и Internet-ресурсов, посвященных C++.
Содержание
Введение. 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
Правило 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, потому что переход от встроенных операторов к функциям, написанным пользователем, приводит к незначительным изменениям в семантике, и эти изменения легко проглядеть. Наконец, множество операторов соотносится друг с другом по стандартным правилам, а из-за перегруженных операторов общепринятые соотношения иногда нарушаются.
В изложенных далее правилах я попытался объяснить, когда и как используются перегруженные операторы, как они ведут себя, как должны соотноситься друг с другом и как всем этим можно управлять. Освоив материалы данной главы, вы будете перегружать (или не перегружать) операторы с той же уверенностью, что и настоящий профессионал.
Рейтинг: | 4.8 баллов / 2537 оценок |
Формат: | Книга |
Уже скачали: | 12782 раз |
Нам показалось, что Книги ниже Вас заинтересуют не меньше. Эти издания Вы так же можете скачивать и читать совершенно бесплатно на сайте!
Автор:Радха-раман дас Название: Сыроедение (аудиокнига)Издательство: СеминарГод: 2011Формат: МР3Размер: 148МВДлительность:300минКачество:64кбит/секИсполняет:Радха-раман дас (Евгений)Сыроедение - прос . . .
Вам представлена книжная серия "Секретные миссии", которая раскроет своим читателям отдельные страницы из досье советских разведчиков и проливает свет на многие эпизоды новейшей истории.Список книг:&n . . .
Мало кому известно, что от положения Луны зависят различные энергетические потоки. В том числе и те, которые называются денежными! Мы знаем, что Луна управляет приливами и отливами воды, оказывает зна . . .
Автор: Хавала С. Название: Вегетарианская кухня для чайниковИздательство: ДиалектикаISBN:978-5-8459-1510-8 (рус.)Год: 2010Формат: PDFРазмер: 19МВСтраниц:246Язык: РусскийПоскольку вы читаете эту книгу, . . .
Книга Секреты тайной комнаты придаст вам силы и вдохновение вашим тайным отношениям с Богом. Те отношения, с Отцом, которые были у Иисуса, когда Он ходил по этой земле, доступны и вам! Эта книга, слов . . .
Серо-голубой логотип «ВКонтакте» мелькает на всех мониторах страны. Чем так притягательна виртуальная реальность соцсети для десятков миллионов россиян от 12 и старше? Кто придумал эту игрушку и куда . . .
Эта первая отечественная книга, основанная на документах из военных архивов, об инопланетянах, летающих тарелках, контактах с внеземными цивилизациями и параллельных мирах от известного документалиста . . .
Автор: Дунаев М. М.Название: Православие и Русская литература (аудиокнига)Издательство: Россия. Отдел религиозного образования и катехизации Владивостокской Епархии.Год: 2006Формат: МР3Размер: 808МВД . . .
Как часто в жизни случается так, что некие трудности впоследствии становятся причиной перемен к лучшему. То, что ранее выглядело как проблема, однажды трансформируется в возможность. Так и наши страда . . .
В сборнике представлены оригинальные произведения различного уровня сложности для солирующих духовых инструментов и для исполнения деревянными и медными духовыми инструментами в различных ансамблях.Од . . .
Если вы хотите скачивать книги, журналы и аудиокниги бесплатно, без рекламы и без смс, оставлять комментарии и отзывы, учавствовать в различных интересных мероприятиях, получать скидки в книжных магазинах и многое другое, то Вам необходимо зарегистрироваться в нашей Электронной Библиотеке.
К сожалению, в нашей Бесплатной Библиотеке пока нет отзывов о Книге Наиболее эффективное использование C++ - 35 новых рекомендаций по улучшению ваших программ и проектов - Мейерс С.. Помогите нам и другим читателям окунуться в сюжет Книги и узнать Ваше мнение. Оставьте свой отзыв или обзор сейчас, это займет у Вас всего-лишь несколько минут.