Мэйерс Скотт - Эффективное использование C++, 3-е изд. [2006, PDF, RUS]

Страницы:  1
Ответить
 

dbg0

Стаж: 12 лет 7 месяцев

Сообщений: 399


dbg0 · 09-Июн-26 16:49 (1 месяц 14 дней назад, ред. 11-Июн-26 01:31)

Эффективное использование C++: 55 верных советов улучшить структуру и код ваших программ, 3-е изд.
Effective C++: 55 Specific Ways to Improve Your Programs and Designs, 3rd ed.
Год издания: 2006 / 2005 (англ.)
Автор: Мэйерс Скотт / Мейерс Скотт / Meyers Scott
Издательство: ДМК Пресс
ISBN: 5-94074-304-8 / 0-321-33487-6 (англ.)
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Нет
Количество страниц: 300
Оригинал на английском языке: Meyers S. Effective C++, 3rd ed. — Addison-Wesley, 2005.
Описание:
Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.
Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.«ДМК Пресс» сделало подлянку, написав фамилию автора с буквой «Э»: «Мэйерс». Издательство «Питер» в 2002 уже выпустило книгу этого же автора с написанием «Мейерс». («Вильямс» в 2016 также использует написание «Мейерс».) Да что там «Питер», само «ДМК Пресс» выпустило в 2000 перевод второго издания книги с фамилией «Мейерс» на обложке! Теперь тот, кто ищет «Мейерса» не найдёт «Мэйерса» и наоборот.
Примеры страниц
Оглавление

Содержание
Благодарности
Предисловие
Введение
Терминология
Соглашения об именах
Многопоточность
Библиотеки TR1 и Boost
Глава 1. Приучайтесь к C++
1. Относитесь к C++ как к конгломерату языков
2. Предпочитайте const, enum и inline использованию \#define
3. Везде, где только можно, используйте const
Константные функции-члены
Как избежать дублирования в константных и неконстантных функциях-членах
4. Прежде чем использовать объекты, убедитесь, что они инициализированы
Глава 2. Конструкторы, деструкторы и операторы присваивания
5. Какие функции C++ создает и вызывает молча
6. Явно запрещайте компилфятору генерировать функции, которые вам не нужны
7. Объявляйте деструкторы виртуальными в полиморфном базовом классе
8. Не позволяйте исключениям покидать деструкторы
9. Никогда не вызывайте виртуальные функции в конструкторе или деструкторе
10. Операторы присваивания должны возвращать ссылку на *this
11. В operator= осуществляйте проверку на присваивание самому себе
12. Копируйте все части объекта
Глава 3. Управление ресурсами
13. Используйте объекты для управления ресурсами
14. Тщательно продумывайте поведение при копировании классов, управляющих ресурсами
15. Предоставляйте доступ к самим ресурсам из управляющих ими классов
16. Используйте одинаковые формы new и delete
17. Помещение в «интеллектуальный» указатель объекта, выделенного с помощью new, лучше располагать в отдельном предложении
Глава 4. Проектирование программ и объявления
18. Проектируйте интерфейсы так, что их легко было использовать правильно и трудно – неправильно
19. Рассматривайте проектирование класса как проектирование типа
20. Предпочитайте передачу по ссылке на const передаче по значению
21. Не пытайтесь вернуть ссылку, когда должны вернуть объект
22. Объявляйте данные-члены закрытыми
23. Предпочитайте функциям-членам функции, не являющиеся ни членами, ни друзьями класса
24. Объявляйте функции, не являющиеся членами, когда преобразование типов должно быть применимо ко всем параметрам
25. Подумайте о поддержке функции swap, не возбуждающей исключений
Глава 5. Реализация
26. Откладывайте определение переменных насколько возможно
27. Не злоупотребляйте приведением типов
28. Избегайте возвращения «дескрипторов» внутренних данных
29. Стремитесь, чтобы программа была безопасна относительно исключений
30. Тщательно обдумывайте использование встроенных функций
31. Уменьшайте зависимости файлов при компиляции
Глава 6. Наследование и объектно-ориентированное проектирование
32. Используйте открытое наследование для моделирования отношения «является»
33. Не скрывайте унаследованные имена
34. Различайте наследование интерфейса и наследование реализации
35. Рассмотрите альтернативы виртуальным функциям
Реализация паттерна «Шаблонный метод» с помощью идиомы невиртуального интерфейса
Реализация паттерна «Стратегия» посредством указателей на функции
Реализация паттерна «Стратегия» посредством класса tr::function
«Классический» паттерн «Стратегия»
Резюме
36. Никогда не переопределяйте наследуемые невиртуальные функции
37. Никогда не переопределяйте наследуемое значение аргумента функции по умолчанию
38. Моделируйте отношение «содержит» или «реализуется посредством» с помощью композиции
39. Продумывайте подход к использованию закрытого наследования
40. Продумывайте подход к использованию множественного наследования
Глава 7. Шаблоны и обобщенное программирование
41. Разберитесь в том, что такое неявные интерфейсы и полиморфизм на этапе компиляции
42. Усвойте оба значения ключевого слова typename
43. Необходимо знать, как обращаться к именам в шаблонных базовых классах
44. Размещайте независимый от параметров код вне шаблонов
45. Разрабатывайте шаблоны функций-членов так, чтобы они принимали «все совместимые типы»
46. Определяйте внутри шаблонов функции, не являющиеся членами, когда желательны преобразования типа
47. Используйте классы-характеристики для предоставления информации о типах
48. Изучите метапрограммирование шаблонов
Глава 8. Настройка new и delete
49. Разберитесь в поведении обработчика new
50. Когда имеет смысл заменять new и delete
51. Придерживайтесь принятых соглашений при написании new и delete
52. Если вы написали оператор new с размещением, напишите и соответствующий оператор delete
Глава 9. Разное
53. Обращайте внимание на предупреждения компилятора
54. Ознакомьтесь со стандартной библиотекой, включая TR1
55. Познакомьтесь с Boost
Приложение А. За пределами «Эффективного использования C++»
Приложение В. Соответствие правил во втором и третьем изданиях
Предметный указатель
📚 Книги Скотта Мейерса 📚
См. такой же спойлер в теме More Effective C++.
Download
Сайт не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм
Как скачивать? (для скачивания .torrent файлов необходима регистрация)
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error