Author(s): Мейерс С.
Year: 2000
Language: Russian
Commentary: +OCR
Pages: 296
Обложка ......Page 1
Введение ......Page 14
Правило 1. Различайте указатели и ссылки ......Page 23
Правило 2. Предпочитайте приведение типов в стиле C++ ......Page 25
Правило 3. Никогда не используйте полиморфизм в массивах ......Page 30
Правило 4. Избегайте неоправданных конструкторов по умолчанию ......Page 33
Правило 5. Опасайтесь определяемых пользователем функций преобразования типа ......Page 38
Правило 6. Различайте префиксную и постфиксную формы операторов инкремента и декремента ......Page 45
Правило 7. Никогда не перегружайте операторы &&, || и , ......Page 49
Правило 8. Различайте значение операторов new и delete ......Page 51
Глава 3. Исключения ......Page 57
Правило 9. Чтобы избежать утечки ресурсов, используйте деструкторы ......Page 58
Правило 10. Не допускайте утечки ресурсов в конструкторах ......Page 63
Правило 11. Не распространяйте обработку исключений за пределы деструктора ......Page 71
Правило 12. Отличайте генерацию исключения от передачи параметра или вызова виртуальной функции ......Page 73
Правило 13. Перехватывайте исключения, передаваемые по ссылке ......Page 80
Правило 14. Разумно используйте спецификации исключений ......Page 84
Правило 15. Оценивайте затраты на обработку исключений ......Page 90
Глава 4. Эффективность ......Page 94
Правило 16. Не забывайте о правиле <80-20> ......Page 95
Правило 17. Используйте отложенные вычисления ......Page 97
Правило 18. Снижайте затраты на ожидаемые вычисления ......Page 106
Правило 19. Изучите причины возникновения временных объектов ......Page 110
Правило 20. Облегчайте оптимизацию возвращаемого значения ......Page 113
Правило 21. Используйте перегрузку, чтобы избежать неявного преобразования типов ......Page 116
Правило 22. По возможности применяйте оператор присваивания вместо отдельного оператора ......Page 118
Правило 23. Используйте разные библиотеки ......Page 121
Правило 24. Учитывайте затраты, связанные с виртуальными функциями, множественным наследованием,виртуальными базовыми классами и RTTI ......Page 124
Правило 25. Делайте виртуальными конструкторы и функции, не являющиеся членами класса ......Page 134
Правило 26. Ограничивайте число объектов в классе ......Page 140
Правило 27. В зависимости от ситуации требуйте или запрещайте размещать объекты в куче ......Page 154
Правило 28. Используйте интеллектуальные указатели ......Page 167
Правило 29. Используйте подсчет ссылок ......Page 190
Правило 30. Применяйте proxy-классы ......Page 218
Правило 31. Создавайте функций, виртуальные по отношению более чем к одному объекту ......Page 231
Правило 32. Программируйте, заглядывая в будущее ......Page 254
Правило 33. Делайте нетерминальные классы абстрактными ......Page 259
Правило 34. Умейте использовать в одной программе С и C++ ......Page 270
Правило 35. Ознакомьтесь со стандартом языка ......Page 276
Приложение 1. Список рекомендуемой литературы ......Page 284
Приложение 2. Реализация шаблона auto_ptr ......Page 289
Обложка ......Page 300