Программирование >>  Расширенная версия языка c++ 

1 2 [ 3 ] 4 5 6 ... 227


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++ поддерживают заголовки старого стиля. Тем не менее такие заголовки объявлены устаревшими и не рекомендуются. Именно поэтому в книге вы их больше не встретите.

Несмотря на повсеместное распространение в программах заголовков старого стиля, они считаются устаревшими.



1 2 [ 3 ] 4 5 6 ... 227

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика