|
Программирование >> Расширенная версия языка c++
int mainO ., { аммкый код */ return 0; . . , .. j ,. . . Поскольку C++ строится на С, этот каркас программы должен быть хорошо вам знаком, тем не менее обратите особое внимание на инструкцию #incJude Эта инструкция подключает к программе заголовочный файл iostream.h, который обеспечивает поддержку системы ввода/вывода С++. (В С++ этот файл имеет то же самое назначение, что и файл stdio.h в С.) Ниже представлена вторая версия программы, в которой используется со-временнхй стиль: современных компиляторах C++. Примеры программ книги отражают современный стиль программирования в соответствии с новыми реалиями языка Standard C++. Это означает актуальность содержания книги не только сегодня, но и в будущем. Проще говоря. Standard С++ - это будущее. А поскольку Standard С++ содержит в себе черты всех ранних версий С++, то, что вы узнаете из этой хнига, позволит вам работать в любой программной среде C++. Тем не менее, если вы используете устаревший компилятор, не все приведенные в книге программы будут вам доступны, поскольку в процессе стандартизации комитет ANSI/ISO добавил к языку массу новых черт. По мере определения новых черт, они реализовывались производитежми компиляторов. Естественно, что между добавлением новой возможности языка и ее доступностью в коммерческих компиляторах всегда есть определенный промежуток времени, а поскольку такие возможности добавлялись в течение нескольких лет, старые компиляторы могут не поддерживать некоторые из них. Это важно, так как два недавних добавления к языку C++ имеют отношение ко всем, даже простейшим программам. Если у вас устаревший компилятор, в котором указанные новые возможности недоступны, не расстраивайтесь, в следующих разделах описано несколько простых способов обойти проблему. Отличия между прежним и современным стилями программирования в числе прочих включают две новые черты: изменился стиль оформления заголовков (headers) и появилась инструкция namespace. Чтобы продемонстрировать эти отличия, начнем с рассмотрения двух версий простейшей программы на C++. Первая показанная здесь версия написана в прежнем, еще совсем недавно основном стиле программирования. Программа на С++ в традиционном стиле linclude <iostreara,h> Преграда на C++ в современное ипе. Здесь используются , новое оформление заголовков и ключевое слово namespace */ ... . . - t. - , . . ч . . ttinclude<io3tream> J using namespace std; intmin u { . . /* программный код */ return 0 ; J . - . Обратите внимание на две строки в самом начале в которых имеют место изменения. Во-первых, в инструкции #include после слова iostream отсутствуют символы .h. Во-вторых, в следующей строке задается так называемое пространство имен (namespace). Хотя подробно эти нововведения будут рассмотрены позднее, сейчас дадим их краткий обзор. Новые заголовки в программах на C++ Как вам должно быть известно из опыта программирования на С, при использовании библиотечной функции в программу необходимо включить заголовочный файл. Это делается с помощью инструкции #include- Например, при написании программ на языке С заголовочным файлом для функций ввода/вывода является файл stdio.h, который включается в программу с помощью следующей инструкции: linclude <stdio.h> Здесь stdio.h - это имя файла, который используется функциями ввода/вывода, и предыдущая инструкция заставляет компилятор включить ука-заннхй файл в вашу программу. В первые несколько лет после появления C++ в нем использовался тот же стиль оформления заголовков, что и в С. Для совместимости с прежними программами в языке Standard C++ этот стиль по-прежнему поддерживается. Тем не менее при работе с библиотекой Standard C++ в соответствии с новым стилем вместо имен заголовочных файлов указываются стандартные идентификаторы, по которым компилятор находит требуемые файлы. Новые заголовки C++ являются абстракциями, гарантирующими объявление соответствующих прототипов и определений библиотеки язгка Standard C++. Поскольку новые заголовки не являются именами файлов, для них не нужно указывать расширение а только имя заголовка в угловых скобках. Ниже представлены несколько заголовков, поддерживаемых в языке Standard C++: Глава 1 ткий обзор C++ Г7 <iostreanL> , i = - , <f streain> - - - ч ., . , <vector> ; . . . . <string> Такие заголовки по-прежнему включаются в программу с помощью инструкции #inc]ude. Единственным отличием явжется то, что новые заголовки совершенно не обязательно являются именами файлов. Поскольку С++ содержит всю библиотеку функций С. по-прежнему поддерживается стандартный стиль оформления заголовочных файлов библиотеки С. Таким образом, такие заголовочные файлы, как stdio.h и ctype.h все еще доступны. Однако Standard C++ также определяет заголовки нового стиля, которые можно указхвать вместо этих заголовочнхх файлов. В соответствии с версией C++ к стандартным заголовкам С просто добавляется префикс с и удаляется расширение .h. Например, заголовок mattt.Ii замеххя-ется новым заголовком С++ <cmath>, а заголовок string.h - заголовком <cstring>. Хотя в настоящее время при работе с функциями библиотеки С допускается включать в программы заголовочные файлы в соответствии со стилем С, такой подход не одобряется стандартом языка Standard C++. (То есть, он не рекомендуется.) По этой причине во всех имеющихся в книге инструкциях #include используется новый стиль написания заголовков программ. Если ваш компилятор для функций библиотеки С не поддерживает заголовки нового стиля, просто замените их заголовками в стиле С. Поскольку заголовки нового стиля появились в C++ совсем недавно, во многих и многих прежних программах вы их не найдете. В этих программах в соответствии со стилем С в заголовках указаны имена файлов. Ниже представлен традиционный способ включения в программу заголовка для функций ввода/вывода: #include <iostream.h> Эта инструкция заставляет компилятор включить в программу заголовочнхй файл Как правило, в заголовках прежнего стиля вместе с расши- рением .h используется то же имя, что и в соответствующих им новых заголовках. Как уже отмечалось, все компиляторы C++ поддерживают заголовки старого стиля. Тем не менее такие заголовки объявлены устаревшими и не рекомендуются. Именно поэтому в книге вы их больше не встретите. Несмотря на повсеместное распространение в программах заголовков старого стиля, они считаются устаревшими.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |