Войти на сайт   Зарегистрироваться

Авторизация

Логин:Пароль:
в сети 2788-й день
расширенный поиск
2015, 2016, Chillout, Clipart, Deep House, design, Downtempo, Graphic, House, Lounge, MP3, Photo, photoshop, Pop, Portable, Stock, Trance, аудиокнига, бесплатно, видео, видеокурс, Графика, дизайн, документальный, игры, история, клип, Клипарт, книга, книги, обои, обучающее видео, поп, программы, сборник, система, скачать, Скачать видеоурок, софт, фантастика, фильм, фильмы, фото, фотошоп   → показать все теги
0

Книги и Журналы » Скачать Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов

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

Содержание:

Глава 1. Переход от С к C++
Правило 1. Предпочитайте const и inline использованию #define
Правило 2. Предпочитайте использованию
Правило 3. Предпочитайте new и delete использованию malloc и free
Правило 4. Предпочитайте комментарии в стиле C++

Глава 2. Управление памятью
Правило 5. Используйте одинаковые формы new и delete
Правило 6. Используйте delete в деструкторах для указателей членов
Правило 7. Будьте готовы к нехватке памяти
Правило 8. При написании операторов new и delete придерживайтесь ряда простых правил
Правило 9. Старайтесь не скрывать "нормальную" форму new
Правило 10. Если вы написали оператор new, напишите и оператор delete

Глава 3. Конструкторы, деструкторы и операторы присваивания
Правило 11. Для классов с динамическим выделением памяти объявляйте копирующий конструктор и оператор присваивания
Правило 12. Предпочитайте инициализацию присваиванию в конструкторах
Правило 13. Перечисляйте члены в списке инициализации в порядке их объявления
Правило 14. Убедитесь, что базовые классы меют виртуальные деструкторы
Правило 15. operator= должен возвращать ссылку на *this
Правило 16. В operator= присваивайте значения всем элементам данных
Правило 17. В operator= осуществляйте проверку на присваивание самому себе

Глава 4. Классы и функции: проектирование и объявление
Правило 18. Стремитесь к таким интерфейсам классов, которые будут полными и минимальными
Правило 19. Проводите различие между функциями-членами, функциями, не являющимися членами класса, и дружественными функциями
Правило 20. Избегайте данных в открытом интерфейсе
Правило 21. Везде, где только можно, используйте const
Правило 22. Предпочитайте передачу параметров по ссылке передаче по значению
Правило 23. Не пытайтесь вернуть ссылку, когда вы должны вернуть объект
Правило 24. Тщательно обдумывайте выбор между перегрузкой функции и аргументами по умолчанию
Правило 25. Избегайте перегрузки по указателю и численному типу
Правило 26. Примите меры предосторожности против потенциальной неоднозначности
Правило 27. Явно запрещайте использование нежелательных функций-членов, создаваемых компилятором по умолчанию
Правило 28. Расчленяйте глобальное пространство имен

Глава 5. Классы и функции: реализация
Правило 29. Избегайте возврата "дескрипторов" внутренних данных
Правило 30. Не используйте функции-члены, возвращающие неконстантные указатели или ссылки на члены класса с более ограниченным доступом
Правило 31. Никогда не возвращайте ссылку на локальный объект или разыменованный указатель инициализированный внутри функции посредством new
Правило 32. Откладывайте определение переменных до последнего момента
Правило 33. Тщательно обдумывайте использование встраиваемых функций
Правило 34. Уменьшайте зависимости файлов при компиляции

Глава 6. Наследование и объектно-ориентированное проектирование
Правило 35. Используйте открытое наследование для моделирования отношения "есть разновидность"
Правило 36. Различайте наследование интерфейса и наследование реализации
Правило 37. Никогда не переопределяйте наследуемые невиртуальные функции
Правило 38. Никогда не переопределяйте наследуемое значение аргумента по умолчанию
Правило 39. Избегайте приведения типов вниз по иерархии наследования
Правило 40. Моделируйте отношения "содержит" и "реализуется посредством" с помощью вложения
Правило 41. Различайте наследование и шаблоны
Правило 42. Продумывайте подход к использованию закрытого наследования
Правило 43. Продумывайте подход к использованию множественного наследования
Правило 44. Говорите то, что думаете, понимайте то, что говорите

Глава 7. Другие принципы
Правило 45. Необходимо знать, какие функции неявно создает и вызывает C++
Правило 46. Предпочитайте ошибки во время компиляции ошибкам во время выполнения
Правило 47. Обеспечьте инициализацию нелокальных статических объектов до их использования
Правило 48. Уделяйте внимание предупреждениям компилятора
Правило 49. Ознакомьтесь со стандартной библиотекой
Правило 50. Старайтесь понимать цели C++

Послесловие

Алфавитный указатель

Название: Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов
Автор: Скотт Мейерс
Издательство: ДМК
Жанр: Программирование
Год: 2000
Страниц: 236
Язык: русский
Формат: PDF
Размер файла: 51,32 Mb

Скачать Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов:



Скачать бесплатно Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов на компьютер / телефон / андроид

Java. Объектно-ориентированное программирование
Java. Объектно-ориентированное программирование
Учебное пособие предназначено для изучающих объектно-ориентированное программирование в вузе, а также для всех желающих самостоятельно изучить язык программирования Java. Книга охватывает все базовые...
PHP. Уровень 2 - Профессиональная веб-разработка (2012)
PHP. Уровень 2 - Профессиональная веб-разработка (2012)
Это самый полный профессиональный курс по освоению PHP на уровне мастера-виртуоза. Это для тех кто уже понимает что такое PHP, каковы мощь и потенциал этого языка. Люди, завершившие курс, утверждают...
80 книг по программированию на C++
80 книг по программированию на C++
C++ — компилируемый статически типизированный язык программирования общего назначения. Название «C++» происходит от названия языка C, в котором унарный оператор ++ обозначает инкремент переменной. В...
PHP – объектно-ориентированное программирование с нуля (2012)
PHP – объектно-ориентированное программирование с нуля (2012)
Видеокурс php — Объектно-ориентированное программирование, позволит Вам стать профессионалом в области веб-программирования. После прохождения которого Вы сможете создать собственный свой...
  Имя:                 Email:  

Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Результат сложения Четырех и Шести