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

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

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

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

Как видим, перечисления довольно трудно сделать наглядными, поэтому они особенно полезны там, где такис преобразования значений в имена нс ~(ужны. В частности, перечисления часто используются в компиляторе для создания таблицы символов. Кроме того, с их помощью можно всрифицировать программы, поскольку перечисления гарантируют, что псрсмснныс могут принимать только прсдписанныс значения. ~ Применение оператора Виео1 для обеспечения машинонезависимости Бы имели возможность убедиться, что структуры и обьсдинсния позволяют создавать псрсмснныс разных размеров, причем фактический размер переменных варьируется в зависимости от компьютсра.

Онсратор вавеое позволяст вычислить размер лю- Глава 7. Структуры, объединения, перечисления и оператор (уре()ег бои переменной и сделать программу машинонезависимой. Этот оператор особенно полезен при работе со структурами и обьединениями, В ходе последующего изложения мы будем предполагать, по встроенные типы данных имск1т следующие размеры.

типичныс лля многих компиляторов языка С/С++. Развал а байтах ооиЬ1е Таким образом, фрагмент программы, приведенный ниже, выведет на экран числа 1, 4 и 8. сиат сун ьпе г(оиЬ1е т; рт1пег("аб , азаеое(сп)); рх1псг("М", в1аеог(1)); рт1псг("Ъг)", взаеог(Г)); Размер структуры равен сумме размеров сс членов или лреаьвлаегл его. Рассмотрим пример. астисс я ( снах си; 1пе 1; г)оиЬ1е Г; и чае; Здесь число в1яеод(в еах) равно, Как минимум.

! 3 (8+4+1). Однако размер переменной в чае может быть больше, поскольку компилятор позволяет выравнивать структуру по границе слова или параграфа. (Параграф — это 16 байт.) Поскольку размер структуры может п(завышать сумму размеров ее членов, лля определения ее фактического размера всегда следует применять оператор вдяеод. Поскольку оператор в1аеод является статическим, вся информация, необхолимая для вычисления размера любой переменной, становится известной уже на этапе компиляции. Это особенно удобно при работе с объединениями, поскольку их размер всегда равен размеру наибольшего члена. Рассмотрим пример.

нойон и с)тат с)п 1пе с(ооЬ1е т; и чат; Здесь число в1веод(и жек) равно 8. При выполнении программы уже не важно, что именно хранится в объединении и жак — главное, чтобы размер объединения совпадал с размером его наибольшего члена. 1:3 Оператор ~урейе$ С помощью ключевого слова еуреоек можно определить новос имя типа данных. Новый тип при этом не создаеглсл, просто уже существующий тип получит новое имя. Это позволяет повысить машинонезависимость программ. Если в программе исполь- Часть 1. Основы языка С+а: подмножество С зуется машннозависимыи тип, достаточно его переименовать, и на новом компьютере для молнфиканни программы г|ридстся изменить лишь одну строку с оператором еуреетед.

Кроме того, с помощью опер;пора еурепвд можно давать типам осмысленные имена, что повышает наглядность программы. Общин вид оператора еуредед таков: курепов лшл новое лзгя Здесь элемент виш обозначает любой допустимый тнп, а элемент новое имя — псешюним этого типа. Новое имя является дополнительным.

Оно не заменяет существующее имя типа. Например. тип д1сое можно переименовать следующим образом. ф гуреева Е1сае Ьа1апсе; Этот оператор сообщает компилятору, что Ьа1аисе — это новос имя типа д1сае. Теперь в программе вместо переменных типа д1сос можно использовать переменныс типа Ьа1апсе. $ Ьатапсе счет Же; Здесь переменная счет Опе является числом с плавающей точкой, но имеет тип Ьа1- впсе, а не д1сое. В свою очередь, используя оператор суреоед, тип ьа1апсе можно переименовать еше раз, Например, оператор $ Суреоее Ьа1апсе счетсЗтвгс; сообшает компилятору, что счотетаде — это синоним слова Ьазапсв, которое является другим именем типа д1сае.

Используя оператор еурепед, можно повысить на~ладность программы и ее машинонсзависимость, но нельзя созлать новый физический тип данных. Глава 7. Структуры, объединения, перечисления и оператор $уреое$ Полный спи 2ВОчник по Вкщ/вцвщ на юйсоль языке С++ предусмотрено две системы ввода-вывода Первая система унаследо- В- вана от языка С. Вторая, объектно ориентированная система, прис)ада только языку С++.

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

В этой главе мы подробно рассмотрим функции, выполняюшис ввод данных с клавиатуры н вывод данных на консоль. В следующей главе мы обсудим файловую систему языка С и проанализируем взаимосвязь обеих систем. В этой главе описаны только консольные функции ввода-вывода, опрсделенныс стандартом языка С++, за одним исключением. В стандарте языка С++ це упомянута ни одна функция, управляюшая дисплеем (например. функция управления курсором). Кроме того, в стандарте ничего не сказано о графических функциях. Это совершенно естественно — ведь упомянутые операции на разных компьютерах значительно отличаются друг от друга. Стандарт С++ совершенно игнорирует функции для вывода строк открытия диалоговых окон в системе %1пдоттз.

Вместо этого в стандарте предполагается, что функции ввода-вывода выполняют только телетайпный вывод (ТТУ- оптрцг). Однако большинство компиляторов содержат в своих библиотеках функции для управления консолью, а также графические функции, прелназначенные лля использования в конкретной операционной системе. Разумеется, на языке С++ можно писать программы, работающие под управлением системы %!пбовз.

Просто следует иметь в виду, что специфические функции, ориентированные на конкретныс операционные системы, ста~шартом языка С++ не предусмотрены. Все функции ввола-вывода. определенные станлартом языка С, используют заголовочный файл всего.ь. В программах, написанных на языке С++, можно применять заголовочный файл <свсддо>. Говоря о консольных функциях, мы имеем в виду функции для ввода данных с клавиатуры и для вывода данных на экран.

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

Однако, побы хорошо понять основы ее функционирования, следует детально разобраться в системс ввода-вывода языка С. Для этого есть четыре причины. ° Когда-нибудь вам придется столкнуться со старыми программами, написанными на языке С. ° В обозримом будушем языки С и С++ будут сосушесгвовать. Многие программисты будут писать программы, используя гибрид С/С++. Кроме того, чаше всего на язык Се+ переходят программисты, ранее работавшие на С. Следовательно, необходимо знать средства ввода-вывода данных, предусмотренные в обоих языках.

Часть (. Основы языка Сь+: подмножество С ° Системы ввода. вывода ланнгах в языке С н С+в основаны на одинаковых принципах. ° В некоторых ситуациях. например, грп написании очень коротких программ, средства ввода-вывода языка С оказываются проще и нагляднее, чем их аналоги в языке С+е.

Помимо всего прочсто, суп(сствуст ((списапос правило, которое гласит: "Каждыи программист па языке С+.~- должен уметь программировать на языке С". Огсугствис знаний о средствах ввода-вывода лапных в языке С сужает ваш профессиональный кругозор. :~ Чтение и запись символов Простейшими консольными фупкциямч ввода и вывода являются функция дееоЬак<), считываюшая символ с к.авиатуры, и функция риеоЬетО.

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

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

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

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