Программирование >>  Формирование пользовательского контейнера 

1 ... 60 61 62 [ 63 ] 64 65 66 ... 156


прение C+f 193

Программу на языке С++ (листинг 4.5) можно откомпилировать любым современным компилятором С++ и получить приведенный далее вывод на экран.

tjsing а foreach loop. J23456789 10

OSing nested foreach loops.

1.1 1.21 0.366667 0.733333 1.1 1.46667

2.2 4.84 0.366667 0.733333 1.1 1.46667

3.3 10.89 0.366667 0.733333 1.1 1.46667

4.4 19.36 0.366667 0.733333 1.1 1.46667

Demonstrate cases statement.

A cases statement that uses integer constants: case 0

1 to 6 1 to 6 cases 1 to 6 cases 1 to 6 cases 1 to 6 cases 1 to 6 case 7

cases 8 to 10 cases 8 to 10 cases 8 to 10 case 11

A cases statement that uses character constants:

case a

cases b to d

cases b to d

cases b to d

case e

repeat/until loop.

1 k: 2 k: 3 k: 4 k: 5 k: 6 k: 7 k: 8 k: 9 k: 10

typeof.

points to same type of object as bPtr *tr points to В object



Задания для самостоятельной работы

Как объяснялось в начале этой главы, задача транслятора - позволить вам проверить свои идеи, создавая новые конструкции или занимательные альтернативы средствам, уже существующим в языке. Для вставки своих ключевых слов в транслятор сначала создайте функцию, которая выполняет преобразование. Затем в главный цикл трансляции вставьте еще один оператор else if, вызывающий эту функцию, когда встретилось описанное вами ключевое слово.

Набор конструкций для экспериментов ограничивается только вашим воображением. Далее перечислены некоторые идеи, с которых можно начать.

□ Оператор Ьгеакоп, позволяющий прервать цикл при выполнении некоторого условия. Его синтаксическая запись может выглядеть следующим образом:

Ьгеакоп(х == 99);

□ Оператор breakto, который передает управление за пределы цикла или оператора switch на заданную метку. Он может записываться следующим образом:

breakto jmpl2;

П Оператор ignore, преждевременно завершающий очередной проход цикла, если обнаружено заданное значение. Таким образом, этот оператор служит альтернативой оператору if.. .continue, а его синтаксическая запись может выглядеть следующим образом: ignore (п == 12);

Безусловно, не все экспериментальные конструкции окажутся удачными. Именно поэтому они и служат опытными образцами, работа над которыми доставляет удовольствие.

И наконец, последнее замечание. Если вы хотите создать свой собственный язык, глава 9 для вас особенно важна, потому что в ней разрабатывается интерпретатор небольшого подмножества языка C-I-+. Его можно использовать как отправную точку для определения более сложных средств языка, чем те, которые легко преобразуются с помошью транслятора данной главы.



Глава 5 шв?й1шияа

Загрузчик файлов из Интернета

Интернет кардинально изменил направление развития профаммирования. До интернет-бума большинство приложений выполнялось изолированно на отдельных компьютерах или пользовалось услугами небольших локальных сетей. С появлением Интернета все преобразилось. Сегодня большинство компьютеров имеет возможность выхода в Интернет, и многие программы способны воспользоваться обширными ресурсами World Wide Web ( Всемирной паутины ). Для современного профаммиста включение в приложения функциональных средств взаимодействия с Интернетом перестало быть одним из вариантов реализации, превратившись в насущную необходимость.

Несмофя на актуальность Интернета, в языке С++ нет его встроенной поддержки, так как язык появился до пика популярности Всемирной сети в конце 1990-х гг. Тем не менее, это не помеха, а реальное преимущество. Вместо того, чтобы диктовать профаммистам единственный обязательный способ, язык С++ предоставляет доступ к функциональным возможностям операционной системы для связи с Интернетом. Такой подход не только обеспечивает потенциально более высокую эффективность и большую гибкость приложений за счет выбора наилучшего варианта для подключения к Интернету, но и позволяет создавать интернет-ориентированную про- Рамму, наиболее совместимую с основной исполняющей средой. Следова-ьно, если вы хотите создавать высокопроизводительные совместимые е Интернетом приложения, язык С++ - лучший выбор для этого. Для иллюстрации легкости, с какой С++ взаимодействует с глобальной се-К), в этой главе разрабатывается зафузчик файлов из Интернета, который **ожет быть встроен в различные приложения, основанные на интернет-технологиях. Зафузчик считывает файл из Интернета по URL-адресу (Uni-огщ Resource Locator, адрес web-узла в Интернете) файла. Это приложение Представляет собой независимую подсистему, которая обеспечивает полночью подключение к Интернету, чтение файла и затем завершение соедине-с Сетью. У загрузчика есть одна особенность - он возобновляемый, и, например, на середине долгой зафузки потеряна связь с Интернетом,



1 ... 60 61 62 [ 63 ] 64 65 66 ... 156

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