BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Turbo C++ Version 1.0 Programmer's Guide
Автор ""
Размер 211728 Байт
Страница 26 из 30
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

цируют,  и  используют  значение  одного  и того же объекта.
Рассмотрим выражение

    i = v[i++];  // i неопределено

     Значение i зависит от того,  выполняется ли инкременти-
рование до или после присвоения. Аналогичным образом,

    int total = 0;

                           - 75 -
    sum = [total = 3] + (++total);// sum = 4 или sum = 7 ??

     имеет неоднозначность идентификаторов sum и total.  Ре-
шение  состоит  в том,  чтобы упростить выражение при помощи
временной переменной:

    int temp, temp = 0;
    temp = ++total;
    sum = (total = 3) + temp;

     Когда синтаксиспринудительно  устанавливает  последова-
тельность вычисления операндов,  то множественные вычисления
в одной конструкции не содержат опасности неоднозначности:

    sum = (i = 3, i++, i++);  // так можно: sum = 4, i = 5

     Каждое под-выражение или выражение с запятыми  вычисля-
ется слева-направо,  и все выражение в целом вычисляется по-
направлению к самому правому значению.

     Turbo C++ перегруппирует выражения, реорганизовывая ас-
социативные  и  коммутативные операции независимо от наличия
круглых скобок, с тем, чтобы получить эффективно компилируе-
мое  выражение;  реорганизация выражения ни в коем случае не
влияет на результатвычисления выражения.

     Круглые скобки можно использовать для того,  чтобы при-
нудительно  задать порядок вычислений в выражении. Например,
если имеются переменные a,  b, c и f, то выражение f=a+(b+c)
вызывает сначала вычисление (b+c),  а затем уже сложение ре-
зультата с a.

Ошибки и переполнения

     Во время вычисления выражения Turbo C++ может встретить
многие  проблематичные ситуации,  как то деление на ноль или
получение значений с плавающей точкой,  выходящих за пределы
допустимого  диапазона.  Переполнение целочисленных значений
игнорируется (С использует арифметические действия по модулю
2  в n-разрядных регистрах),  однако ошибки,  обнаруживаемые
математическими библиотечными функциями, могут обрабатывать-
ся  стандартными или определяемыми пользователем подпрограм-
мами. См. matherr и signal в Справочнике по Библиотеке.

                           - 76 -
Семантика операций

     Описанные здесь  операции Turbo C++ являются операциями
стандарта ANSI C.

     Если операции не перегружены,  то следующая  информация
действительна как для С,  так и для С++. В С++ вы можете пе-
регрузить все эти операции,  за исключением операции . (опе-
рация задания компонента) и ?: (условная операция) (также не
могут быть перегружены операции С++ :: и .*).

     Если операция перегружена, то приводимые здесь сведени-
ядля  нее  недействительны.Таблица  1.19 на стр.74 оригинала
приводит синтаксис для всех операций и выражений с операция-
ми.
       Постфиксные и префиксные операции

     Шесть постфиксных операций [] () .  -> ++и -- использу-
ются для построения постфиксных выражений, показанных в таб-
лице   синтаксиса   выражений   (таблица   1.19).   Операции
инкремента и декремента (++ и --) также являются префиксными
и унарными операциями;они  обсуждаются,  начиная  со  стр.79
оригинала.

 Операция индексации массива []   --------------------------

      В выражении

    постфиксное-выражение [выражение]

     в С,  но не обязательно в С++, выражение выраж1[выраж2]
определяется как

    *((выраж1) + (выраж2))

     где либо выраж1 это указатель, а выраж2 это целочислен-
ное значение,  либо выраж1 это это целочисленное значение, а
выраж1 это указатель.  (Каждый из пунктуаторов [], * и + мо-
жет быть перегружен в С++).

 Операция вызова функции ()





Выражение постфиксное-выражение(<список-аргументов-выражения>) представляет собой вызов функции, задаваемой постфикс- ным выражением. Список-аргументов-выражения - это разделяе- мый запятой список выражения любого типа, задающий фактические (или действительные) аргументы функции. Значение самого выражения вызова функции, если оно вообще имеет мес- то, определяется оператором возврата в определении функции. См. "Вызовы функций и преобразования аргументов" на стр.63 оригинала, где приводится более поробное изложение вызова функций. Операция задания компонента структуры/объединения . (точка) В выражении постфиксное-выражение . идетификатор постфиксное-выражениедолжно иметь тип структуры или объединения; идентификатор должен являться именем компонента данной структуры или объединения. Выражение обозначает объ- ект - компонент структуры или объединения. Значением данного выражения будет являться значение выбранного таким образом компонента; оно будет являться именующим выражением (lvalue) - 77 - в том и только том случае, если именующим выражением являет- ся само постфиксное выражение. Подробное описание использо- вания операций . и -> дается на стр.66 оригинала. Именующие выражения определяются на стр.28 оригинала. Операция указателя структуры/объединения -> В выражении постфиксное-выражение -> идентификатор должно иметьтип указателя структуры или указателя объ- единения; идентификатор же должен быть именем компонента этой структурыили объединения. Выражение обозначает объект - компонент структуры или объединения. Значением данного выра- жения будет являться значение выбранного таким образом ком- понента; оно будет являться именующим выражением (lvalue) в том и только том случае, если именующим выражением является само постфиксное выражение. Операция постфиксного инкремента ++ В выражении постфиксное-выражение++ операндом является постфиксное выражение: оно должно быть скалярного типа (арифметического или типа указателя) и должно являться модифицируемым именующим выражением (более подробная информация об именующих выраже- ниях приводится на стр.28 оригинала.) Постфикс ++ также на- зывают операцией постинкремента. Значением всего выражения является значение постфиксного выражения до выполнения инк- ремента. После вычисления постфиксного выражения операнд ин- крементируется на 1. Величина инкремента зависит от типа операнда. Значения типа указателя вычисляются по правилам арифметических дейс- твий с указателями. Постфиксная операция декремента -- Постфиксная операция декремента, также известная как постдекремент, подчиняется тем же правилам, что и операция постфиксного инкремента, за исключением того, что единица после вычислениявыражения вычитается. Операции инкремента и декремента Первыми двумя унарными операциями являются операции ++ и --. Эти операции бывают как постфиксными, так и префиксны- ми, и поэтому обсуждаются в данногмразделе. Затем рассматри- ваются остальные шесть префиксных операций. Операция префиксного инкремента ++ В выражении ++ унарное-выражение операндом является унарное выражение: оно должно быть скалярного типа (арифметического или типа указателя) и должно являться модифицируемым именующим выражением. Операцию префиксного инкремента также называют операцией преинкремента. Операнд инкрементируется на 1 до вычисления выражения; значением всего выражения является ин- крементированное значение операнда. Величина инкремента за- - 78 - висит от типа операнда. Значения типа указателя вычисляются по правилам арифметических действий с указателями. Префиксная операция декремента --


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.