Побо́чные эффе́кты (англ. side effects) — любые действия работающей программы, изменяющие (среду выполнения) (англ. execution environment). Например, к побочным эффектам относятся:
- доступ (чтение или запись) к объекту, определённому с модификатором volatile (англ.);
- изменение (запись) объекта;
- изменение файла;
- изменение поведения инструкций процессора, обрабатывающих числа с плавающей точкой (см. floating-point environment (англ.));
- вызов функции, выполняющей любое из перечисленных выше действий.
Побочный эффект функции — возможность в процессе выполнения своих вычислений: читать и модифицировать значения (глобальных переменных), осуществлять операции ввода-вывода, реагировать на исключительные ситуации, вызывать их обработчики. Если вызвать функцию с побочным эффектом дважды с одним и тем же набором значений входных аргументов, может случиться так, что в качестве результата будут возвращены разные значения. Такие функции называются недетерминированными функциями с побочными эффектами.
См. также
- (Состояние (информатика))
- (Чистота функции)
- (Точка следования)
- (Неопределённое поведение)
Примечания
- International standard. ISO/IEC 9899:201x. Information technology — Programming languages — C. Committee draft N1570 (англ.) (pdf) Пункт 5.1.2.3, параграф 2. ISO/IEC (12 апреля 2011). — Черновик стандарта C11. Дата обращения: 22 ноября 2014. 25 декабря 2021 года.
- cppreference.com. «Порядок вычислений от 15 февраля 2015 на Wayback Machine» (англ.).
Литература
- Себеста Р.У. Основные концепции языков программирования = Concepts of programming languages. — 5-е изд. — М.: , 2001. — С. 282—284. — .
- Dowd, M.; McDonald, J.; Schuh, J. Function Side-Effects // The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities. — Pearson Education, 2006. — 1200 p. — .
В статье есть список , но не хватает . |
Это о программировании. Помогите Википедии, дополнив её. |
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер