C++-ban mi tekintkető egy függvény mellékhatásának?
Figyelt kérdés
Ha jól tudom a mellékhatás az, hogy a visszaadott értéken kívül másnak az értékét is megváltoztatja.
A paraméterek értékének megváltoztatása nyilván mellékhatás, de mondjuk egy szöveg kiíratása is az? Mert végülis az is állapotváltozás.
2020. szept. 3. 11:07
1/2 anonim válasza:
Az nyelvfüggetlen, hogy mit tekintünk egy függvény mellékhatásának, azt nem a nyelv definiálja, hanem a funkcionális programozási paradigma. Aszerint pedig minden állapotváltozás mellékhatás, így egy szöveg kiíratása is.
A szigorúan funkcionális nyelvekben, mint pl. a Haskell nem is olyan triviális a kiíratás.
2/2 anonim válasza:
Mellékhatásnak minden olyan dolog bizonyul, ami a függvény scope-ján kívül hatással van. A kiíratás értelemszerűen mellékhatás, hiszen írsz az output stream-re, ergo megváltoztatod az állapotát. Egy függvényparaméter módosítása nem mellékhatás, ha az csak a függvényen belül érhető el, de ha mondjuk referencia szerint lenne átadva egy objektum, és azon módosítanál.. igen, az már mellékhatás.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!