Электронная библиотека

ЭЛЕКТРОННАЯ БИБЛИОТЕКА






Добро пожаловать на сайт электронной библиотеки!
Здесь можно найти произведения русских и зарубежных авторов.
Скачать множество книг и журналов различных жанров и направлений.
Большой выбор художественной, бизнес, учебной и технической литературы.
Все представленные здесь книги и журналы имеют подробное описание и обложку.
Наша библиотека регулярно пополняется только новыми и интересными материалами!

«Подробнее о сайте»            «Правила сайта»            «Написать нам»            «Статьи»

Скользкие места C++. Как избежать проблем при проектировании и компиляции ваших программ

Компьютерные >> Программирование





Разместил: Gunpowder

22-07-2013, 11:13

Просмотров: 440





Скользкие места C++. Как избежать проблем при проектировании и компиляции ваших программ

Скользкие места C++. Как избежать проблем при проектировании и компиляции ваших программ - Вы держите в руках руководство по тому, как не допускать и исправлять 99 % типичных, разрушительных и просто любопытных ошибок при проектировании и реализации программ на языке C++. Эту книгу можно рассматривать также, как взгляд посвященного на нетривиальные особенности и приемы программирования на C++.
Обсуждаются как наиболее распространенные «ляпы», имеющиеся почти в любой программе на C++, так и сложные ошибки в использовании синтаксиса, препроцессора, преобразований типов, инициализации, управления памятью и ресурсами, полиморфизма, а также при проектировании классов и иерархий. Все ошибки и их последствия обсуждаются в контексте. Подробно описываются способы разрешения указанных проблем.
Издание предназначено для всех программистов, желающих научиться писать правильные и корректно работающие программы на языке C++.

Название: Скользкие места C++. Как избежать проблем при проектировании и компиляции ваших программ
Автор: Стефан К. Дьюхэрст
Издательство: ДМК Пресс
Год: 2006
Страниц: 264
Формат: DJVU
Размер: 10,1 МБ
ISBN: 5-94074-083-9
Качество: Отличное
Серия или Выпуск: Профессиональная серия от Addison-Wesley

Содержание:

Предисловие
Благодарности
Глава 1. Основы
Совет 1. Избыточное комментирование
Совет 2. Магические числа
Совет 3. Глобальные переменные
Совет 4. Отличайте перегрузку от инициализации аргументов по умолчанию
Совет 5. О неправильной интерпретации ссылок
Совет 6. О неправильной интерпретации const
Совет 7. Не забывайте о тонкостях базового языка
Совет 8. Отличайте доступность от видимости
Совет 9. О неграмотности
Совет 10. Не игнорируйте идиомы
Совет 11. Не мудрствуйте лукаво
Совет 12. Не ведите себя как дети
Глава 2. Синтаксис
Совет 13. Не путайте массивы с инициализаторами
Совет 14. Неопределенный порядок вычислений
Совет 15. Помните о предшествовании
Совет 16. Подводные камни в предложении for
Совет 17. Принцип «максимального куска»
Совет 18. О порядке следований спецификаторов в объявлениях
Совет 19. Функция или объект?
Совет 20. Перестановка квалификаторов типа
Совет 21. Автоинициализация
Совет 22. Статические и внешние типы
Совет 23. Аномалия при поиске операторной функции
Совет 24. Тонкости оператора ->
Глава 3. Препроцессор
Совет 25. Определение литералов с помощью #define
Совет 26. Определение псевдофункций с помощью #define
Совет 27. Не увлекайтесь использованием директивы #if
Совет 28. Побочные эффекты в утверждениях
Глава 4. Преобразования
Совет 29. Преобразование посредством void *
Совет 30. Срезка
Совет 31. Преобразование в указатель на константу
Совет 32. Преобразование в указатель на указатель на константу
Совет 33. Преобразование указателя на указатель на базовый класс
Совет 34. Проблемы с указателем на многомерный массив
Совет 35. Бесконтрольное понижающее приведение
Совет 36 Неправильное использование операторов преобразования
Совет 37. Непреднамеренное преобразование с помощью конструктсра
Совет 38. Приведение типов в случае множественного наследования
Совет 39. Приведение неполных типов
Совет 40. Приведения в старом стиле
Совет 41. Статические приведения
Совет 42. Инициализация формальных аргументов временными объектами
Совет 43. Время жизни временных объектов
Совет 44. Ссылки и временные объекты
Совет 45. Неоднозначность при использовании dynamic_cast
Совет 46. Контравариантность
Глава 5. Инициализация
Совет 47. Не путайте инициализацию и присваивание
Совет 48. Правильно выбирайте область видимости переменной
Совет 49. Внимательно относитесь к операциям копирования
Совет 50. Побитовое копирование объектов классов
Совет 51. Не путайте инициализацию и присваивание в конструкторах
Совет 52. Несогласованный порядок членов в списке инициализации
Совет 53. Инициализация виртуальных базовых классов
Совет 54. Инициализация базового класса в конструкторе копирования
Совет 55. Порядок инициализации статических данных во время выполнения
Совет 56. Прямая инициализация и инициализация копированием
Совет 57. Прямая инициализация аргументов
Совет 58. Что такое оптимизация возвращаемого значения?
Совет 59. Инициализация статических членов в конструкторе
Глава 6. Управление памятью и ресурсами
Совет 60. Различайте выделение и освобождение памяти для скаляров и для массивов
Совет 61. Контроль ошибок при выделении памяти
Совет 62. Подмена глобальных new и delete
Совет 63. Об области видимости и активации функций-членов new и delete
Совет 64. Строковые литералы в выражении throw
Совет 65. Обрабатывайте исключения правильно
Совет 66. Внимательно относитесь к адресам локальных объектов
Совет 67. Помните, что захват ресурса есть инициализация
Совет 68. Правильно используйте auto_ptr
Глава 7. Полиморфизм
Совет 69. Кодирование типов
Совет 70. Невиртуальный деструктор базового класса
Совет 71. Сокрытие невиртуальных функций
Совет 72. Не делайте шаблонные методы слишком гибкими
Совет 73. Перегрузка виртуальных функций
Совет 74. Виртуальные функции с аргументами по умолчанию
Совет 75. Вызовы виртуальных функций из конструкторов и деструкторов
Совет 76. Виртуальное присваивание
Совет 77. Различайте перегрузку, переопределение и сокрытие
Совет 78. О реализации виртуальных функций и механизма переопределения
Совет 79. Вопросы доминирования
Глава 8. Проектирование классов
Совет 80. Интерфейсы get/set
Совет 81. Константные и ссылочные данные-члены
Совет 82. В чем смысл константных функций-членов?
Совет 83. Различайте агрегирование и использование
Совет 84. Не злоупотребляйте перегрузкой операторов
Совет 85. Приоритеты и перегрузка
Совет 86. Операторы, являющиеся членами и друзьями класса
Совет 87. Проблемы инкремента и декремента
Совет 88. Неправильная интерпретация шаблонных операций копирования
Глава 9. Проектирование иерархий
Совет 89. Массивы объектов класса
Совет 90. Не всегда один контейнер можно подставить вместо другого
Совет 91. Что такое защищенный доступ?
Совет 92. Применение открытого наследования для повторного использования кода
Совет 93. Конкретные открытые базовые классы
Совет 94. Не пренебрегайте вырожденными иерархиями
Совет 95. Не злоупотребляйте наследованием
Совет 96. Управление на основе типов
Совет97. Космические иерархии
Совет 98. Задание «интимных» вопросов объекту
Совет 99. Опрос возможностей
Список литературы
Предметный указатель


Скачать Скользкие места C++. Как избежать проблем при проектировании и компиляции ваших программ









Похожие публикации

Язык Ассемблер в программировании информационных и управляющих систем Язык Ассемблер в программировании информационных и управляющих систем
Язык Ассемблер в программировании информационных и управляющих систем — На базе использования языка Ассемблера, рассмотрены основные методы построения системных программ для широкого круга информационных и управляющих систем, включая языковые и

Язык Си++ Язык Си++
Язык Си++ — Подробно рассмотрены синтаксис, семантика и техника программирования объектно-ориентированного языка Си++. Приведено большое количество программ, иллюстрирующих возможности и особенности языка Си++.

Теория и практика C++ Теория и практика C++
Теория и практика C++ — Книга Герберта Шилдта, одного из самых известных авторов компьютерной литературы, посвящена обсуждению сложных вопросов программирования.

Сила JavaScript. 68 способов эффективного использования JS Сила JavaScript. 68 способов эффективного использования JS
Сила javascript. 68 способов эффективного использования JS - Эта книга поможет вам освоить всю мощь языка программирования javascript и научит применять его максимально эффективно.

Java для студента Java для студента
Java для студента - Книга написана на базе курса лекций, читаемых автором на протяжении многих лет в США, России и Казахстане. В краткой и доступной форме описаны основные особенности объектно-ориентированного программирования на языке Java,

Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов
В книге приводятся практические рекомендации по проектированию и программированию на языке C++. Изложены правила, позволяющие программисту сделать выбор между различными методами реализации программы - наследованием и шаблонами, шаблонами и

Видеокурс PHP. Уровень 2 - Профессиональная веб-разработка (2012) Видеокурс PHP. Уровень 2 - Профессиональная веб-разработка (2012)
Это самый полный профессиональный курс по освоению PHP на уровне мастера-виртуоза. Это для тех кто уже понимает что такое PHP, каковы мощь и потенциал этого языка. Люди, завершившие курс, утверждают что один месяц обучения по данной программе можно

Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов
В книге приводятся практические рекомендации по проектированию и программированию на языке C++. Изложены правила, позволяющие программисту сделать выбор между различными методами реализации программы - наследованием и шаблонами, шаблонами и

Oracle 11g: Основы SQL Oracle 11g: Основы SQL
Данный видеокурс познакомит слушателей с базовыми знаниями SQL, позволяющими разработчику писать запросы к одной или нескольким таблицам, модифицировать данные таблиц и создавать объекты базы данных. Основным инструментом разработки, используемым в

Базовый видеокурс по C++ Базовый видеокурс по C++
Видеокурс по С++ для начинающих. Рассматриваются операторы cout, cin, основные типы данных в c++, а также арифметические операции над числами, условный оператор if-else, оператор множественного выбора switch, цикл while и do-while, написание




Отзывы и Комментарии





Добавление комментария

Ваше Имя:
Ваш E-Mail:(необязательно)
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Книги




Союз образовательных сайтов