Модуль: Знакомство с литералами и операторами


7. Возвращаемые значения и побочные эффекты


Большинство операторов в C++ просто используют свои операнды для вычисления возвращаемого значения. Например, -5 возвращает значение -5, а 2 + 3 возвращает значение 5. Есть несколько операторов, которые не выдают возвращаемых значений (например, delete и throw). О том, что они делают, мы расскажем позже.

Некоторые операторы обладают дополнительным поведением. Оператор (или функция), который имеет некоторый наблюдаемый эффект помимо получения возвращаемого значения, называется оператором с побочным эффектом. Например, при вычислении x = 5 оператор присваивания имеет побочный эффект присвоения переменной x значения 5. Измененное значение x можно наблюдать (например, распечатав значение x) даже после завершения выполнения оператора. std::cout << 5 имеет побочный эффект печати на консоль. Мы можем наблюдать тот факт, что 5 было выведено на консоль даже после завершения выполнения std::cout << 5.

Операторы с побочными эффектами обычно вызываются для поведения побочного эффекта, а не для возвращаемого значения (если таковое имеется), которое этот оператор производит.

Демонстрация побочных эффектов:


time 1000 ms
memory 256 Mb

Комментарий учителя