Efect secundar (programare)
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 7 iunie 2020; verificările necesită
6 modificări .
Efectele secundare sunt orice acțiuni ale unui program care rulează care modifică mediul de execuție [ 1 ] . De exemplu, efectele secundare includ [2] :
- acces (citire sau scriere) la un obiect definit cu modificatorul volatil (engleză) ;
- modificarea (înregistrarea) unui obiect;
- modificarea fișierului;
- modificarea comportamentului instrucțiunilor procesorului care procesează numere în virgulă mobilă (vezi mediul în virgulă mobilă (engleză) );
- apelarea unei funcții care efectuează oricare dintre acțiunile de mai sus.
Un efect secundar al funcției este capacitatea, în procesul de efectuare a calculelor sale : de a citi și modifica valorile variabilelor globale , de a efectua operațiuni I/O , de a răspunde la situații excepționale, de a apela manipulanții acestora . Dacă apelați de două ori o funcție cu efect secundar cu același set de valori ale argumentului de intrare, se poate întâmpla ca rezultat să fie returnate valori diferite. Astfel de funcții sunt numite funcții nedeterministe cu efecte secundare.
Vezi și
Note
- ↑ Standard internațional. ISO/IEC 9899:201x. Tehnologia informației - Limbaje de programare - C . Proiectul comisiei N1570 (ing.) (pdf) Clauza 5.1.2.3, paragraful 2 . ISO/IEC (12 aprilie 2011) . — Proiectul standardului C11. Consultat la 22 noiembrie 2014. Arhivat din original la 25 decembrie 2021.
- ↑ cppreference.com. " Ordinea calculelor arhivate 15 februarie 2015 la Wayback Machine " .
Literatură
- Sebesta R.U. Concepte de bază ale limbajelor de programare \u003d Concepte ale limbajelor de programare. - a 5-a ed. - M .: Williams , 2001. - S. 282-284. — ISBN 5-8459-0192-8 .
- Dowd, M.; McDonald, J.; Schuh, J. Efecte secundare ale funcției // Arta evaluării securității software: identificarea și prevenirea vulnerabilităților software. - Pearson Education, 2006. - 1200 p. — ISBN 9780132701938 .