Пропуснете до основното съдържание »

Вашата кошница е празна

Ефективен C++, 50 конкретни начина да подобрите своите програми и проекти

Редовна цена: 20,00 лв.

Специална цена: 16,00 лв.

Наличност: Не е налично

Бъдете първи - добавете мнение

Ефективен C++,  50 конкретни начина да подобрите своите програми и проекти

Кликнете два пъти върху изображението, за да го видите в по-голям размер

Намаляване
Увеличаване

Подробности

Всяко от 50-те напътствие в тази книга обобщава по един начин за писане на по-добър код на C++, а придружаващите ги дискусии са подкрепени с конкретни примери. За това ново издание Майерс преработи всеки съвет в книгата. Резултатът е точно придържане към стандарта за C++ на международните стандартизационни организации, текущите компилаторни технологии и най-новите идеи за прилагане на C++ за решаване на проблеми от реалния свят. Книгата включва: - Експертни съвети за обектно-ориентирания дизайн, проектирането на класове и правилното използване на наследяването. - Преглед на стандартната библиотека на C++, включително на начините, по които STL и класове като string и vector оказват влияние върху структурата на добре написаните програми. - Дискусии за най-новите възможности на езика като инициализиране на константи в класове, именни пространства и шаблони за членове. - Мъдрост, притежавана обикновено единствено на най-опитните програмисти. Ефективен C++ продължава да бъде задължително четиво за всеки програмист, работещ със C++.
Предговор
Специални благодарности
Въведение
Преминаване от 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++

Послеслов
Индекс
Скот Майерс е всепризнат световен авторитет по въпросите на C++; той предлага консултантски услуги на клиети от всички краища на света и работи като редактор на The C++ Report. Той е основен лектор на технически конференции навсякъде по света и е автор на световно известните книги "По-ефективен C++" (продължение на настоящата) и "Ефективен C++ CD" (обединяваща двете книги). Скот е получил докторска степен по информатика от университета Браун през 1993 година.