Ефектвен C++

Ефектвен C++

Автор(и): Скот Майерс
Издателство: Зест прес; II изд.; 2003 г.
ISBN: 9789549341027
Наличност: Да
Цена: 20,00 лв.

Всяко от 50-те напътствия в тази книга обобщава по един начин за писане на по-добър код на C++, а придружаващите ги дискусии са подкрепени с конкретни примери.

Книгата включва:
- експертни съвети за обектно-ориентирания дизайн, проектирането на класове и правилното използване на наследяването;
- преглед на стандартната библиотека на C++, включително на начините, по които STL и класове като string и vector оказват влияние върху структурата на добре написаните програми;
- дискусии за най-новите възможности на езика като инициализиране на константи в класове, именни пространства и шаблони за членове;
- мъдрост, присъща обикновено единствено на най-опитните програмисти.

Предговор
Специални благодарности
Въведение

Преминаване от C към C++

Съвет 1: Предпочитайте const и inline вместо #define
Съвет 2: Предпочитайте пред
Съвет 3: Предпочитайте new и delete вместо malloc и free
Съвет 4: Предпочитайте коментари в стила на С++

Управление на паметта

Съвет 5: Изпълнявайте една и съща форма при съответстващите си употреби на new и delete
Съвет 6: Използвайте delete за указателите към член-променливите в деструкторите
Съвет 7: Предвидете ситуациите, в които няма достатъчно памет
Съвет 8: Придържайте се към утвърдените условности, когато пишете operator new и operator delete
Съвет 9: Избягвайте да скривате “нормалната” форма на new
Съвет 10: Напишете и operator delete, ако сте написали operator new

Конструктори, деструктори и оператори за присвояване

Съвет 11: Декларирайте конструктор за копиране и оператор за присвояване в класовете с динамично заделяне на памет
Съвет 12: В конструкторите предпочитайте инициализиране пред присвояване
Съвет 13: Поставяйте член-данните в инициализационния списък в реда, в който са обявени в декларацията на класа
Съвет 14: Уверете се, че базовите класове имат виртуални деструктори
Съвет 15: Уверете се, че operator= връща псевдоним на *this
Съвет 16: Присвоявайте стойности на всички член-данни в operator=
Съвет 17: Проверявайте за самоприсвояване в operator=

Класове и функции: проектиране и обявяване

Съвет 18: Стремете се да създавате завършени и минимални интерфейси на класове
Съвет 19: Правете разлика между член-функции, външни функции и приятелски функции
Съвет 20: Избягвайте да поставяте член-данни в публични интерфейси
Съвет 21: Използвайте const винаги когато е възможно
Съвет 22: Предпочитайте подаването по псевдоним пред подаването по стойност
Съвет 23: Не се опитвайте да връщате псевдоним, когато трябва да върнете обект
Съвет 24: Избирайте внимателно между предефинирането на функции и задаването на стандартни стойности на параметри
Съвет 25: Избягвайте да предефинирате функции, приемащи указатели и числови типове
Съвет 26: Пазете се от потенциални двусмислия
Съвет 27: Изрично забранете използването на неявно генерирани член-функции, които не желаете
Съвет 28: Разделете на части глобалното именно пространство

Класове и функции: реализиране

Съвет 29: Избягвайте да връщате “манипулатори” към вътрешни данни
Съвет 30: Избягвайте член-функции, връщащи неконстантни указатели или псведоними на членове, по-малко достъпни от тях
Съвет 31: Никога не връщайте псевдоним на локален обект или на безименен указател, инициализиран с new във функцията
Съвет 32: Отлагайте дефинирането на променливи възможно най-дълго
Съвет 33: Използвайте вградените функции разумно
Съвет 34: Намалете компилационните зависимости между файловете

Наследяване и обектно ориентирано проектиране

Съвет 35: Уверете се, че публичното наследяване следва модела “е също”
Съвет 36: Различавайте наследяването на интерфейс от наследяването на реализация
Съвет 37: Никога не предефинирайте наследени невиртуални функции
Съвет 38: Никога не предефинирайте наследена стандартна стойност на параметър
Съвет 39: Избягвайте преобразуванията към по-нискостоящи класове от наследствената йерархия
Съвет 40: Моделирайте отношенията “има” и “е реализиран с помощта на” чрез наслояване
Съвет 41: Различавайте наследяването от шаблоните
Съвет 42: Използвайте скритото наследяване разумно
Съвет 43: Използвайте множественото наследяване разумно
Съвет 44: Казвайте това, което мислите; разбирайте това, което казвате

Разни

Съвет 45: Научете какви функции се създават и извикват неявно от C++
Съвет 46: Предпочитайте грешките по време на компилиране и свързване пред грешките по време на изпълнение
Съвет 47: Уверете се, че нелокалните статични обекти се инициализират, преди да бъдат използвани
Съвет 48: Обръщайте внимание на предупрежденията на компилатора
Съвет 49: Запознайте се със стандартната библиотека
Съвет 50: Увеличете своите знания за C++

Послеслов
Индекс

Страници: 270
Формат: 70х100/16 (17х24 см)
Корица: мека
Език: български
Издание: ново
Тегло: 0,480 кг
ID: 2Е96ССМ001

Напиши мнение

Вашето име:


Вашият текст:

Оценка: Лош            Добър

Въведете кода в полето отдолу: