Loading...
Error

Скотт Мэйерс / Scott Meyers - Эффективное использование С++. 55 верных советов улучшить структуру и код ваших программ [2006, DjVu]

Ответить на тему

 | 

 
Автор Сообщение

gitavr

Эффективное использование С++. 55 верных советов улучшить структуру и код ваших программ

Год выпуска: 2006
Автор: Скотт Мэйерс / Scott Meyers
Перевод: ДМК Пресс
Наличие иллюстраций: Ч/б иллюстрации
Издательство: ДМК Пресс
ISBN: 5-94074-304-8
Формат: DjVu
Качество: Сканированные страницы
Количество страниц: 300
Описание: Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.
Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.
Глава 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: Рассмотрите альтернативы виртуальным функциям
Правило 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++»
Download
Для скачивания .torrent файлов необходима регистрация
Сайт не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм

albedo2

Неделю уже висит на 98.5% кроме меня таких ещё 2 человека. Скачавших 9. Где вы, скачавшие?

S_El

На раздачу вернитесь,не могу который день скачать.
Показать сообщения:    
Ответить на тему