Г. Шилтд - Самоучитель C++ (DJVU), страница 4
Описание файла
DJVU-файл из архива "Г. Шилтд - Самоучитель C++ (DJVU)", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 4 - страница
Таким образом Бгапдагг! С++ по существу является надмножеством традиционного С++. Настоящая книга учит языку Бгапг(аЫ С++. Эта версия С++, определенная комитетом по стандартизации АМЯ1/1БО, должна быть реализована во всех Глава К Краткий обзор С++ современных компиляторах С++. Примеры программ этой книги отражают современный стиль программирования в соответствии с новыми реалиями языка Мандата С++. Это означает актуальность содержания книги не только сегодня, но и в будущем. Проще говоря, Мандата С++ — это будушее.
А поскольку Мандата С++ содержит в себе черты всех ранних версий С++, то, что вы узнаете из этой книги, позволит вам работать в любой программной среде С++. Тем не менее, если вы используете устаревший компилятор, не все приведенные в книге программы будут вам доступны, поскольку в процессе стандартизации комитет А)ЧБ1/1БО добавил к языку массу новых черт. По мере определения новых черт, они реализовывались производителями компиляторов. Естественно, что между добавлением новой возможности языка и ее доступностью в коммерческих компиляторах всегда есть определенный промежуток времени, а поскольку такие возможности добавлялись в течение нескольких лет, старые компиляторы могут не поддерживать некоторые из них. Это важно, так как два недавних добавления к языку С++ имеют отношение ко всем, даже простейшим программам.
Если у вас устаревший компилятор, в котором указанные новые возможности недоступны, не расстраивайтесь, в следующих разделах описано несколько простых способов обойти проблему. Отличия между прежним и современным стилями программирования в числе прочих включают две новые черты: изменился стиль оформления заголовков (Ьеас1ега) и появилась инструкция патеарасе. Чтобы продемонстрировать эти отличия, начнем с рассмотрения двух версий простейшей программы на С++. Первая показанная здесь версия написана в прежнем, еще совсем недавно основном стиле программирования.
Программа на с++ в традиционном стиле ф/ б~тс1абе <1оасгеап.Ь> 1пс пап~ П ! /* проораммньпь код "/ геГцгп О; Поскольку С++ строится на С, этот каркас программы должен быть хорошо вам знаком, тем не менее обратите особое внимание на инструкцию 11псйн1а Эта инструкция подключает к программе заголовочный файл 1пв1геаш.Ь, который обеспечивает поддержку системы ввода/вывода С++. (В С++ этот файл имеет то же самое назначение, что и файл аЫ1о.Ь в С.) Ниже представлена вторая версия программы, в которой используется современный стиль: тб Самоучитель С-т~- Программа на С.т.т в совремет-тном стилЕ.
Здесь истоттьзуютсн новое оформление заголовков и кттючевое слово палтеврасе * лстпсзпае<говт.геаттт> ттвтпЧ палтеврасе аТт1т тплкта~п ~) ( у* програтеаттьтй код */ геввгг, О т Обратите внимание на две строки в самом начале программы, в которых имеют место изменения. Во-первых, в инструкции №шс1нйе после слова 1ов1геаа отсутствуют символы .Ь. Во-вторых, в следующей строке задается так называемое пространство имен (паптезрасе). Хотя подробно зти нововведения будут рассмотрены позднее, сейчас дадим их краткий обзор.
Новые заголовки в программах на С++ Как вам должно быть известно из опыта программирования на С, при использовании библиотечной функции в программу необходимо включить заголовочный файл. Это делается с помощью инструкции №щс1Ые. Например, при написании программ на языке С заголовочным файлом для функций ввода/вывода является файл втйо.Ь„который включается в программу с помощью следующей инструкции: Нпстптае (ввтгто. П) Здесь вайо.Ь вЂ” это имя файла, который используется функциями ввода/вывода, и предыдущая инструкция заставляет компилятор включить указанный файл в вашу программу.
В первые несколько лет после появления С++ в нем использовался тот же стиль оформления заголовков, что и в С. Для совместимости с прежними программами в языке Яапгтагд С++ этот стиль по-прежнему поддерживается. Тем не менее при работе с библиотекой Вгапдагб С++ в соответствии с новым стилем вместо имен заголовочных файлов указываются стандартные идентификаторы, по которым компилятор находит требуемые файлы. Новые заголовки С++ являются абстракциями, гарантирующими объявление соответствующих прототипов и определений библиотеки языка Ягапдаггт С++. Поскольку новые заголовки не являются именами файлов, для них не нужно указывать расширение .Ь, а только имя заголовка в угловых скобках.
Ниже представлены несколько заголовков, поддерживаемых в языке Вгапттагс) С++: 1? Глава и краткийобзор С++ <хов ьхеав> <х в ькеата> <ъес~от> <веха.пд> Такие заголовки по-прежнему включаются в программу с помощью инструкции Ф1пс1нйе. Единственным отличием является то, что новые заголовки совершенно не обязательно являются именами файлов.
Поскольку С++ содержит всю библиотеку функций С, по-прежнему поддерживается стандартный стиль оформления заголовочных файлов библиотеки С. Таким образом, такие заголовочные файлы, как в1И1о,Ь и с1ууе.й все еще доступны. Однако Яапдагд С++ также определяет заголовки нового стиля, которые можно указывать вместо этих заголовочных файлов.
В соответствии с версией С++ к стандартным заголовкам С просто добавляется префикс с и удаляется расширение .Ь. Например, заголовок ига11г.й заменяется новым заголовком С++ <егпаФ>, а заголовок в1г1пя.Ь вЂ” заголовком <св1пп~>, Хотя в настоящее время при работе с функциями библиотеки С допускается включать в программы заголовочные файлы в соответствии со стилем С, такой подход не одобряется стандартом языка Б1апйагд С++.
(То есть, он не рекомендуется.) По этой причине во всех имеющихся в книге инструкциях Ф1пс1Ые используется новый стиль написания заголовков программ. Если ваш компилятор для функций библиотеки С не поддерживает заголовки нового стиля, просто замените их заголовками в стиле С. Поскольку заголовки нового стиля появились в С++ совсем недавно, во многих и многих прежних программах вы их не найдете. В этих программах в соответствии со стилем С в заголовках указаны имена файлов.
Ниже представлен традиционный способ включения в программу заголовка для функций ввода/вывода: Фьпс1ибе <1овскеап.ь> Эта инструкция заставляет компилятор включить в программу заголовочный файл 1ов$геяпьЬ. Как правило, в заголовках прежнего стиля вместе с расширением,й используется то же имя, что и в соответствующих им новых заголовках. Как уже отмечалось, все компиляторы С++ поддерживают заголовки старого стиля.
Тем не менее такие заголовки объявлены устаревшими и не рекомендуются. Именно поэтому в книге вы их больше не встретите. Несмотря на повсеместное распространение в программах заголовков старого стиля, они считаются устаревшими. Самоучитель С ь-' Пространства имен Когда вы включаете в программу заголовок нового стиля, содержание этого заголовка оказывается в пространстве имен МЙ. Прострпяство имен (патеарасе) — это просто некая объявляемая область, необходимая для того, чтобы избежать конфликтов имен идентификаторов.
Традиционно имена библиотечных функций и других подобных идентификаторов располагались в глобальном пространстве имен (как, например, в С). Однако содержание заголовков нового стиля помещается в пространстве имен яЫ. Позднее мы рассмотрим пространства имен более подробно. Сейчас же, чтобы пространство имен яШ стало видимым, просто используйте следующую инструкцию: паапа папеарасе е'сй; Эта инструкция помещает зго в глобальное пространство имен. После того как компилятор обработает эту инструкцию, вы сможете работать с заголовками как старого, так и нового стиля.
Если вы работаете со старым компилятором Как уже упоминалось, заголовки нового стиля и пространства имен появились в С++ совсем недавно, поэтому эти черты языка могут не поддерживаться старыми компиляторами. Если у вас один из таких компиляторов, то при попытке компиляции первых двух строк кода, приводимых в книге примеров программ, вы получите одно или несколько сообщений об ошибках. Обойти эту проблему просто — удалите инструкцию патеярасе и- используйте заголовки старого стиля. То есть замените, например, инструкции Фъпс1пс1е <1еа~хеат> па'пя патпесрасе асс; на инструкцию МГпс1ппе <Ьса~пеаж. Ь> Это простое действие превратит современную программу в такую же, но в традиционном стиле.
Поскольку заголовок старого стиля считывает все свое содержание в глобальное пространство имен, необходимость в инструкции патеарасе отпадает. И еще одно замечание. Еще в течение нескольких лет вы будете встречать программы, в которых заголовки будут оформлены в старом стиле и не будет инструкций паыеарасе. Ваш компилятор С++ будет прекрасно справляться с такими программами. Тем не менее, что касается новых программ, вам следует использовать современный стиль, поскольку именно он определен стандартом языка Яапбагд С++.
Хотя программы прежнего стиля будут поддерживаться еще многие годы, технически они некорректны. Глава 1. Краткий обзор С++ 1. Перед тем как продолжить, попытайтесь откомпилировать представленный выше пример простейшей программы. Хотя эта программа не выполняет никаких действий, попытка ее компиляции поможет определить, поддерживает ли ваш компилятор современный синтаксис С++.