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

Мейерс Скотт

Код товара: 157049
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
1 / 2
PDF
-33%
1 062
1 585
Доставим в
г. Москва
Планируемая дата
5 мая (Вс)
Курьером
Л-Пост
бесплатно от 10 000 ₽
В пункт выдачи
от 155 ₽
бесплатно от 10 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Оригинальное название:
Effective C++. 55 Specific Ways to Improve Your Programs and Designs
Год издания:
2017 г.
Может быть отгружен товар указанного или более позднего года
Редактор:
Переводчик:

Описание

Характеристики

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.
Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.
издание
3
количество томов
1
количество страниц
300 стр.
переплет
Мягкая обложка
размеры
210x140x17 мм
цвет
Белый
тип бумаги
офсетная (60-220 г/м2)
формат
60x90/16 (145x215 мм)
ISBN
978-5-97060-088-7, 978-5-97060-434-2
тираж
1000 экз.
стандарт
возрастная категория
18+ (нет данных)
вес
код в Майшоп
157049
язык
русский

Содержание

Благодарности
Предисловие
Введение
Терминология
Соглашения об именах
Многопоточность
Библиотеки 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++"
Приложение В. Соответствие правил во втором и
третьем изданиях

Отзывы

Вопросы

Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!

Дарим бонусы за отзывы!

За какие отзывы можно получить бонусы?
  • За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
  • Публикуйте фото или видео к отзыву
  • Пишите отзывы на товары с меткой "Бонусы за отзыв"
Правила начисления бонусов
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ» (авторы: Мейерс Скотт), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!
Ваш населённый пункт:
г. Москва
Выбор населённого пункта