Читать «Полный справочник по С++» онлайн - страница 5

Герберт Шилдт

Разделение свойств языка С и специфических особенностей языка C++ позволяет достичь трех основных целей.

■ Четко провести разделительную линию между языками С и C++.

■ Предоставить читателям, владеющим языком С, возможность легко усвоить информацию об особенностях языка C++.

■ Выделить и подробно описать свойства языка C++, унаследованные от языка С.

Очень важно точно провести линию, отделяющую язык С от языка C++, поскольку они очень широко распространены, и от программиста иногда требуется поддержка программ, написанных на обоих языках. Если вы пишете программу на языке С, нужно четко понимать, где заканчивается язык С и начинается язык C++. Многие программисты, работающие на языке C++, иногда пишут программы на языке С и не используют специфические свойства языка C++. В особенности это относится к программированию встроенных систем и поддержке существующих приложений. Таким образом, понимание различий между этими языками является необходимым условием профессионального программирования на C++.

Полное и свободное владение языком С абсолютно необходимо для перевода программ на язык C++. Чтобы сделать это на высоком уровне, необходимо хорошо знать язык С. Например, без ясного понимания механизмов ввода-вывода, предусмотренных в языке С, невозможно трансформировать программу, осуществляющую интенсивный обмен данными с внешними устройствами, в эффективную программу на языке C++.

Многие читатели уже владеют языком С. Вследствие этого выделение тем, связанных с языком С, позволяет опытным программистам избежать повторения пройденного и перейти непосредственно к изучению особенностей языка C++. Разумеется, в части I подчеркиваются малейшие отличия языка C++ от языка С. Кроме того, отделение подмножества С от остальных свойств языка C++ позволяет в дальнейшем сосредоточиться на его объектно-ориентированных особенностях.

Несмотря на то что язык C++ полностью содержит язык С, как правило, не все свойства языка С используются в программах, написанных “в стиле C++”. Например, система ввода-вывода, предусмотренная в языке С, по-прежнему доступна в языке C++, хотя в C++ существуют свои объектно-ориентированные механизмы ввода-вывода данных. Еще одним примером такого анахронизма является препроцессор. Он играет чрезвычайно важную роль в языке С и очень скромную — в языке C++. Обсуждение свойств, присущих “стилю языка С”, в первой части книги позволяет избежать путаницы в остальных главах.

Запомните: подмножество С, описанное в части I, является ядром языка C++ и фундаментом, на котором воздвигнуты его объектно-ориентированные конструкции. Все свойства, описанные здесь, являются неотъемлемой частью языка C++ и могут быть использованы в ваших программах.