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

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

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

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

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

Наличност: На склад

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

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

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

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

Подробности

По-ефективен C++ е изпълнена с прагматични, реалистични съвети, които ще използвате всеки ден.

Както Ефективен C++ преди нея, По-ефективен C++ е задължително четиво за всеки, който работи със C++.

В книгата подробно са разгледани:

– Доказани методи за подобряване на ефективността на програмите, включително задълбочени изследвания на разходите на време и пространство, свързани с отделните механизми на езика C++.

– Детайлни описания на по-сложни техники, използвани от експертите по C++, включващи placement new, виртуални конструктори, умни указатели, броене на псевдоними, класове-посредници и множествено виртуализиране.

– Примери за ефектите от обработването на изключения върху структурата и поведението на класовете и функциите в C++.

– Практическо приложение на нови механизми на езика като bool, mutable, explicit, namespace, член-шаблони, STL и други. Ако вашите компилатори все още не поддържат някой от тези механизми, Майерс ще ви покаже как да постигнете целта си и без тях.

Специални благодарности
Въведение
Основи
Съвет 1: Правете разлика между указатели и псевдоними
Съвет 2: Предпочитайте преобразуванията на типове от C++
Съвет 3: Никога на третирайте масивите полиморфично
Съвет 4: Избягвайте ненужните констртуктори по подразбиране

Оператори
Съвет 5: Внимавайте с дефинираните от потребителите
функции за преобразуване
Съвет 6: Правете разлика между префиксните и постфиксните
форми на операторите за увеличаване и намаляване.
Съвет 7: Никога не предефинирайте &&, || или ,
Съвет 8: Научете различните значения на new и delete

Изключения
Съвет 9: Използвайте деструкторите, за да предотвратите
загуба на ресурси
Съвет 10: Избягване на загуба на ресурси в конструкторите
Съвет 11: Не позволявайте на изключенията да напускат
деструкторите
Съвет 12: Научете по какво хвърлянето на изключение
се различава от подаването на параметър или
от извикването на виртуална функция
Съвет 13: Улавяйте изключения по псевдоним
Съвет 14: Използвайте спецификациите на изключения разумно
Съвет 15: Научете цената на обработването на изключения

Ефективност
Съвет 16: Не забравяйте правилото 80-20
Съвет 17: Използвайте мързеливо оценяване
Съвет 18: Амортизирайте цената на очакваните изчисления
Съвет 19: Научете произхода на временните обекти
Съвет 20: Оптимизиране на връщаните стойности
Съвет 21: Предефинирайте, за да избегнете неявното
преобразуване на типове
Съвет 22: По възможност използвайте op= вместо op
Съвет 23: Не забравяйте алтернативните библиотеки
Съвет 24: Научете цените на виртуалните функции,
множественото наследяване, виртуалните
базови класове и RTTI

Техники
Съвет 25: Виртуализиране на конструктори и на функции,
които не са членове на някакъв клас
Съвет 26: Ограничаване на броя на обектите от даден клас
Съвет 27: Изискване или забраняване на използванeто на обекти
в динамичната памет
Съвет 28: Умни указатели
Съвет 29: Броене на псевдоними
Съвет 30: Класове-посредници
Съвет 31: Създаване на функции, виртуални по отношение
на повече от един обект

Разни
Съвет 32: Програмирайте в бъдеще време
Съвет 33: Правете всички междинни класове абстрактни
Съвет 34: Научете как да комбинирате C++ със C в една програма
Съвет 35: Запознайте се със стандарта на езика

Препоръчвана литература
Реализация на auto_ptr
Индекс
Индекс на примерните класове
Скот Майерс е един от всепризнатите световни авторитети по въпросите на разработването на софтуер със C++. Той е авторът на Ефективен C++ и Ефективен C++ CD (демонстрационна версия можете да намерите на адрес http://meyerscd.awl.com), бивш автор на колонки в C++ Report, често появяващ се автор на страниците на C++ Users Journal и Dr. Dobbs Journal, както и консултант на клиенти от цял свят. Член на консултантския съвет на NumeriX LLC и InfoCruiser Inc. Той има докторска степен по информатика от Brown University.