Байланысты: Бьерн Страуструп. Язык программирования С . М Бином, 2011
Замечания по реализации Существует несколько распространяемых независимых реализаций С++. Появилось большое число
сервисных программ, библиотек и интегрированных систем программирования. Имеется масса книг,
руководств, журналов, статей, сообщений по электронной почте, технических бюллетеней, отчетов о
конференциях и курсов, из которых можно получить все необходимые сведения о последних
изменениях в С++, его использовании, сервисных программах, библиотеках, новых трансляторах и т.д.
Если вы серьезно рассчитываете на С++, стоит получить доступ хотя бы к двум источникам
информации, поскольку у каждого источника может быть своя позиция.
Большинство программных фрагментов, приведенных в книге, взяты непосредственно из текстов
программ, которые были транслированы на машине DEC VAX 11/8550 под управлением 10-й версии
системы UNIX [25]. Использовался транслятор, являющийся прямым потомком транслятора С++,
созданного автором. Здесь описывается "чистый С++", т.е. не используются никакие зависящие от
реализации расширения. Следовательно, примеры должны идти при любой реализации языка. Однако,
шаблоны типа и обработка особых ситуаций относятся к самым последним расширениям языка, и
возможно, что ваш транслятор их не содержит.
Упражнения Упражнения даются в конце каждой главы. Чаще всего они предлагают написать программу. Решением
может считаться программа, которая транслируется и правильно работает хотя бы на нескольких
тестах. Упражнения могут значительно различаться по сложности, поэтому дается приблизительная
оценка степени их сложности. Рост сложности экспоненциальный, так что, если на упражнение (*1) у вас
уйдет пять минут, то (*2) может занять час, а (*3) - целый день. Однако время написания и отладки
программы больше зависит от опыта читателя, чем от самого упражнения. На упражнение (*1) может
потребоваться целый день, если перед запуском программы читателю придется ознакомиться с новой
вычислительной системой. С другой стороны, тот, у кого под рукой окажется нужный набор программ,
может сделать упражнение (*5) за один час.
Любую книгу по программированию на языке С можно использовать как источник дополнительных
упражнений при изучении глав 2 - 4. В книге Ахо ([1]) приведено много общих структур данных и
алгоритмов в терминах абстрактных типов данных. Эту книгу также можно использовать как источник
упражнений при изучении глав 5 - 8. Однако, использованному в ней языку не достает функций-членов и
производных классов. Поэтому определяемые пользователем типы на С++ можно написать более
элегантно.