Главная » Просмотр файлов » Г. Шилдт - Полный справочник по C++

Г. Шилдт - Полный справочник по C++ (1109478), страница 44

Файл №1109478 Г. Шилдт - Полный справочник по C++ (Г. Шилдт - Полный справочник по C++) 44 страницаГ. Шилдт - Полный справочник по C++ (1109478) страница 442019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 44)

В противном случае оно ложно. Например, чтобы распознать, является ли именованная константа агггхьв опредеяенной, можно использовать олпу из следуюших команд препроцессора: й ВЕГ деЕ1пед МУР1ЬВ а а(ЫеЕ МРРХьк Поставив перед оператором ктеЕЕпед символ (, можно задать противоположное условие. Например, следуюший фрагмент программы кол1пилируется только в тол1 случае, если именованная константа паапа не определена.

а1( с)еЕЕпес) ()ВВПП ртЕпСЕ('*РЕпа1 чего(оп(чп"); В еаза й Одна из причин, по которои используется оператор аеелпед, состоит в том, что он позволяет проверить, определено ли имя макроса с помошью оператора Эе11Е. ~ Директива Ипе Директива 011пе соответственно изменяет содержимое макросов Ь|МВ и Ртьв, представляюших собой идентификаторы, определенные компилятором. Идентификатор ьптв содержит номер текушей строки компилируемого кода. Илентификатор Ртьв представляет собой строку, солержашую имя компияируелюго файла. Общий вид директивы «11пе таков.

$11пе номер "имя файла*' Здесь параметр номер равен любому положительному числу, которое становится новым значением макроса ымв . Параметр иыя файла не обязателен и может быть любым допустимым именем файла, которое становится новым значением макроса РХЬВ . Директива Ваапе в основном используе~ся при отладке программ и в специальных приложениях.

Например, следуюший код устанавливает, что нумерацию строк следует начинать с числа 1ОО. Функция рт1псЕ() выводит на экран число 102, поскольку она находится в третьей строке программы, отсчитывая от лирективы 011пе 100. Глава 10. Препроцессор в комментарии :; Фзпс1пс)е «вс«)зо.п> 6 $ Я).тпе 100 1пс аза1п(уоЫ) Гзхзпет ("а«)1п", Ытнв ) з геспгп Оз /" Устанавливает счетчик строк */ /* Строка 100 */ /* Строка 101 */ /* Строка 102 */ ~ Директива Ф ргаупа Директияа ()ртавеа зависит от реализации. Она позволяет передавать компилятору различные команды.

Например, компилятор может иметь опцию, предусматриваюшукз трассировку выполнения прог)язммы. Зту опцию можно задать с помошью директивы Врсаваза. Детали и допустимые опции перечисляются в документации, сопровождаюшей компиляз ор. =Л Операторы препроцессора Ф и ФФ () рспроцессор превратит строку ' рз йгст (ю)«вгг(я лоозз»з с++) ) з и ст)зок)' рххпст ( я люб,ю С++ ) Оператор ВВ, называемый оиеригаораи коикалзснииии (раз((щ), "силен)изет" две лекссьзы, 3 4)пстзкзе «ае«(то.н> з) а«(ейтпе сопсас(а, Ь) а ФС Ь з апс азате[тот«)) ( 1пс ху = 10) Часть (. Основы языка С+»: подмножество С Препроцессор имеет два оператора: () и М().

Зти операторы используются в директиве ()оет1пе, Оператор М, который называется олеритором ззревразиеиия в си»року (з(ппя(те), преобразует свой аргумент в с~року, заключенную в кавычки. В качестве примера рассмотрим слелуюшую программу. ; Ф (пг 1 пс)о «в Сото. Ь> Ё Ф«)ступе азкасг(а) Ф а 'В з зпс паап(чозо) ( рттпН (еКасг(я люблю С++))з гетпзп оз б ргдпст("Ъд", сопсас(х, у)); [ гееигп О; Препроцессор преобразует строку й ргйпсй("ес)", сопсас(х, у)); в строку й ргапгх["ас", ху); Если эти операторы показались вам странными, вспомните, что в большинстве случаев без них можно спокойно обойтись. В основном они предназначены для обработки некоторых особых ситуаций. ~ Имена предопределенных макросов В языке С++ существует шесть встроенных имен макросов: т.хнж Р1ЬЕ рдтж тхмд втрс ср1ивр1ив Первые пять из этих макросов относятся к языку С.

Макросы ьхмв и втык уже обсуждались в разделе„посвяшенном директиве «11пе. Кратко говоря, они содержат номер текушей строки и имя компилируемого файла. Макрос рдтв содержит строку, имеюшую внд х[еглнггдень|год. В него записывается дата компиляции файла. Макрос танк солержит время компиляции программы, представленное в формате чнсыы[ннун[ы секунды. Смысл макроса атос зависит от реализации.

Как правило, если л[акрос втрс определен, компилятор строго придерживается стандарта языков С и С++, не допуская никаких нестандартных расширений'. Компилятор, строго полдерживаюший стандарт языка С++, определяет макрос ср1ивр1ив, значение которого содержит как минимум шесть цифр. Колшиляторы, допускаюшие нестандартные расширения, оиределя[от значение макроса ср1ивр1ив, состоя[нее из пяти и меньшего количества знаков.

~ Комментарии Стандарт С89 допускает лишь один вид комментариев, начинаюшихся символами у* и заканчиваю[цихся символами *д Между звездочкой и косой чертой не должно быть пробелов. Компилятор игнорирует текст, заключенный внутри комментариев. Например, следуюшая программа выведет на экран слово "Привет". Фзпс1иде <вело.б> гг~ Глава 10. Препроцессор и комментарии тпс шаз.п[чоаст) ( ргапсс("привет"); /* рхтлес("ЗдЕСЬ")Г */ гевцхг. Ог ) Этот стиль комментариев называется многострочным (пш)г)))пе согпгпепг), поскольку такие комментарии могут состоять из нескольких строк. / /* Зто — пример многострочного комментария */ Комментарии можно размещать в любом месте программы, с олним исключением: они не могут разрывать ключевые слова или идентификаторы.

Например, следующий комментарий вполне корректен. $ к †. 10+ /* добавляем число */5/ В то же время комментарий $ вша/*ото совершенно неправильно*/сои(с) ( неверен, поскольку ключевое слово не может содержать комментарий. Впрочем, комментарии не следует вставлять в середину выражений, так как зто лишь запугыюет программу. Многострочные комментарии не могут быть вложенными. Иначе говоря, один комментарии не может содержать другои. Например, следующий фрагмент кода вызовет ошибку компиляции. /* Зтс внешний комментарий к = у/а; /* Зто внутренний комментарии — он порождает ошибку "/ */ Однострочные комментарии Язык С++ (и станларт С99) предусматриюег дю вида комментариев.

Во-первых, многострочные комментарии. Во-вторых, одностроч/гые комненшарли (а)пя)е-1)пе согпгпепга). и // Зто — однострочный комментарий. Однострочные комментарии особенно полезны лля создания кратких пошаговых описаний программы. Несмотря на то что они не подаержиюк~ся стандартом С89, многие компиляторы языка С позволяют их применять Кроме того, они'были включены в сюнларт С99. И последнее: однострочные комментарии можно вкчадыють в многосзрочные, Комментарии следует размешать там, где необходимы поясненги.

Например, все функции. за исключением очень корейских и самоочевидных, должны содержать комментарии, в которых описано их прелназначенис, способ вызою и возврашаемое значение. Часть!. Основы юыка С+И подмножество С Полный справочник по В первой асти мы рассмотрели язык С„являющийся подмножеством языка С++. Во второЙ части описываются свойства, характерные лишь для языка С++. Нными словами, в ней обсуждаются особенности языка С++„которых нет в языке С. Поскольку многие своиства языка С++ предназначены для поддержки объектно-ориентированного про-граммирования (ООП), во второй части также рассматриваются теория и преимушества именно атой парадигмы.

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

Чтобы решить эту п!юблсму, мы ощча;ю предашасм нашему анимацию беглыи обзор наиболсс важных аспскзон языка С+-л. к которым относятся сво история. кюочсные слоистая, а также различия между трслнциощюи и стандартной нсрсиями языка С+.к В остальных гланал мы рассмотрим сноистна языка Сч-ъ более подробно.

~в ИСТОКИ яЗЫКа С++ Изначально язык С++ предстанлял собой расширение языка С. Впсрные он был разработан н 1979 году Бьярном Страуструпом (Вдагпе 5вговвзвгввр). сотрудником компании Ве!1 ЕввЬогавог!ез н г. Мюррей Хилл (штат Нью-Джерси) Свив ва.ва язык пазынался "С с классами", олнако н 1983 голу его нгынание было изменено на С ". Хотя язык С был одним из наиболее любимых и широко распростр;шенных профессиональных языкон программирования, сто мощности уже не хназало для решения оснонной проблемы: возрастающей сложности программ.

Со нременелв программы становились нсе более крупными и сложными. Безуслонно, язык С -- прсносхолный язык програлвлвиронанви, но его нозможности, к сожаленввю, ввврани вены. Если размер программы колеблется н пределах от 25000 до 100000 строк кода, она сзшюнится в вастолько сложной, что механизмы языка С не позволяют работать с нси, как с единым целым. Одной из целен языка С++ было прсололепие этого препятстния. Язык Ся+ позволил программистам прекрасно справляться с более крчпными и сложными программами. Большинство усонерцвенстнонаннй, ннссснных Стра)струпом н язык С, касалось поддержки объектно-ориентированного провраммиронапия (ООП), (Краткое описание этой парадигмы программирования солержится н следчющсм разделе ) Страуструп утнерждает, что некоторые объеквно-орисвпиронанныс сноистна языка С-в-+ были унаследонаны у другого объекпю-ориснтиронанного языка — 5!впвв!а 67.

Характеристики

Тип файла
DJVU-файл
Размер
7,03 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6553
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее