( gelei | 2020. 12. 29., k – 19:27 )

Máig nem értem, miért nincs valami hasonló a C nyelvben

Imho (ha jól értem, amiről beszélsz - és ez most egy elég nagy "ha") azért, mert ennek csak káosz lenne a vége. Egy hello worldnél kicsit is bonyolultabb alkalmazás már rettenetes spagettikód lesz, ha egy kódblokk (nevezzük bárhogy) hozzáfér a call stack összes változójához, ne adj' Isten át is írhatná a tartalmukat. Eleve honnan tudod, hogy amikor a szubrutin lefut, akkor milyen változók léteznek a hívó függvényben? Mi van, ha több helyről hívod ugyanazt a szubrutint? Mi van, ha a szubrutint (vagy éppen azt, ami meghívja) nem is te írod?

Sőt ha tovább bogarásszuk a dolgot, végülis a C/C++ switch szerkezete ugyan mi más mint egy rakás goto, álcázva?

Hát azért van különbség, pl. hogy switch-csel nem tudod elhagyni a scope-ot, mert nem lehet vele ilyen arbitrary (mi erre a magyar szó?) ugrásokat csinálni hasraütésre.