Побочные эффекты

Побочные эффекты

Побочный эффект выражается в неявном изменении значения переменной в процессе вычисления выражения. Все операции присваивания могут вызывать побочный эффект. Вызов функции, в которой изменяется значение какой-либо внешней переменной, либо путем явного присваивания, либо через указатель, также имеет побочный эффект.

Порядок вычисления выражения зависит от реализации компилятора, за исключением случаев, в которых явно гарантируется определенный порядок вычислений (см. раздел 4.5). При вычислении выражения в языке Си существуют так называемые контрольные точки. По достижении контрольной точки все предшествующие вычисления, в том числе все побочные эффекты, гарантированно произведены. Контрольными точками являются операция последовательного вычисления, условная операция, логические операции И и ИЛИ, вызов функции. Другие контрольные точки:

—конец полного выражения (т.е. выражения, которое не является частью другого выражения);

—конец инициализирующего выражения для переменной класса памяти auto;

—конец выражений, управляющих выполнением операторов if, switch, for, do, while и выражения в операторе return. Приведем примеры побочных эффектов:

add(i + 1, i = j + 2);

Аргументы вызова функции add могут быть вычислены в любом порядке. Выражение i+1 может быть вычислено перед выражением i=j+2, или после него, с различным результатом в каждом случае.

Унарные операции инкремента и декремента также содержат в себе присваивание и могут быть причиной побочных эффектов, как это показано в следующем примере:

int i, а [10];

i = 0;

a[i++] = i;

Неизвестно, какое значение будет присвоено элементу а[0] — нуль или единица, поскольку для операции присваивания порядок вычисления аргументов не оговаривается.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

10. Трюки и эффекты

Из книги автора

10. Трюки и эффекты На вопрос: «Какую операционную систему вы считаете самым сильным конкурентом Windows Vista?» представители Microsoft достаточно самоуверенно ответили: «Windows XP SP2».Каждая новая версия Windows создает ажиотаж во всех сферах информационных технологий. Техническая


Часть III. ЭФФЕКТЫ

Из книги автора

Часть III. ЭФФЕКТЫ В этой части мы будем говорить об эффектах (они же стили). На первый взгляд кажется, что название новое, и мы с ним еще не встречались, но это не так. Достаточно вспомнить такие эффекты, как Bevel and Emboss (Фаска и рельеф) и Gradient Overlay (Наложение градиента). Но если


Специальные эффекты

Из книги автора

Специальные эффекты Adobe InDesign также умеет создавать интересные и полезные эффекты, которые мы можем использовать при оформлении текста. По сути, здесь мы снова сталкиваемся с взаимопроникновением программ фирмы Adobe, поскольку данные эффекты «заимствованы» из программы


Оптические эффекты

Из книги автора

Оптические эффекты Оптические эффекты выступают как часть процесса визуализации, позволяя повысить реалистичность трехмерных сцен. Доступ к группе оптических эффектов можно получить при помощи вкладки Effects (Эффекты) окна Environment and Effects (Окружающая среда и эффекты) (рис.


Визуальные эффекты

Из книги автора

Визуальные эффекты Начнем с самого простого. Выполните команду Пуск ? Панель управления, в открывшемся окне дважды щелкните на значке Система и перейдите на вкладку Дополнительно. В области Быстродействие нажмите кнопку Параметры. В открывшемся окне Параметры


Глава 8 Эффекты

Из книги автора

Глава 8 Эффекты Эффекты – это специальные средства, позволяющие преобразовать некоторые элементы изображения, они могут применяться в отношении отдельных элементов, а также в отношении слоев целиком. Эффекты дают возможность зрительно выделять контуры элемента,


Стили и эффекты

Из книги автора

Стили и эффекты Этим возможности программы Excel по работе с графическими изображениями не ограничиваются. Вы можете придать рисунку особый стиль с помощью библиотеки готовых стилей и эффектов, а также изменить геометрическую форму рисунка.Сначала изменим геометрическую


Эффекты анимации

Из книги автора

Эффекты анимации Если бы мы работали в Word или Publisher, то на этом, собственно, пришлось бы и остановиться – что можно сделать с неподвижной картинкой? Но слайду в PowerPoint совершенно нет нужды быть неподвижным! Напротив, ему это в корне противопоказано.Надписи, картинки и прочие


Эффекты изменений

Из книги автора

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


Неожиданные эффекты

Из книги автора

Неожиданные эффекты SQL позволяет.одному и тому же получателю прав получать одни и те же полномочия из различных источников, даже если предоставляемые права уже есть у получателя. Каждый раз, когда один пользователь расширяет у другого пользователя права передавать


Звуковые эффекты

Из книги автора

Звуковые эффекты Неплохо бы добавить в игру звуковые эффекты. К сожалению, библиотека .NET Compact Framework пока не поддерживает воспроизведение звуковых файлов при помощи управляемого кода. Поэтому придется воспользоваться механизмом Platform Invoke (P/Invoke). В главе, посвященной


Введение в эффекты

Из книги автора

Введение в эффекты В программе доступно более 40 специальных эффектов и преобразователей звука. Все эффекты можно разделить на группы.• Эффекты эха – создают эффекты, добавляющие эхо.• Эффекты высоты тона – создают эффекты звучания, основанные на изменении высоты


Звуковые эффекты

Из книги автора

Звуковые эффекты В программе Studio также реализовано несколько звуковых эффектов, некоторые из которых могут оказаться весьма полезными. Для применения эффектов к выделенному аудиоклипу используется инструмент Добавление аудиоэффектов (последний в


7.4. Побочные электромагнитные излучения

Из книги автора

7.4. Побочные электромагнитные излучения Говоря о многоуровневой защите, нельзя не упомянуть о таком явлении, как утечка информации посредством паразитного электромагнитного излучения.Представьте себе такую ситуацию: ваша компания оперирует с информацией закрытого


Простейшие эффекты

Из книги автора

Простейшие эффекты Начнем мы с создания самых простых эффектов. Всего их два: клонирование выделенного экземпляра по ячейкам воображаемой сетки и его анимированное


Звуковые эффекты

Из книги автора

Звуковые эффекты Звуковые эффекты добавляют звучанию особый колорит, а иногда меняют звук до неузнаваемости.Задержка сигналовК эффектам, основанным на задержке сигнала, относятся следующие:•  дилэй (от англ. delay – задержка);•  реверберация (от англ. reverberation –