triks closurei ir tikai tas, ka viņai ir pieejami funkcijas mainīgie pa tiešo. tb viņa tos redz un var mainīt kā grib.
imho paskālā vēl bija tā fīča "palīgfunkcija iekš funkcijas". parasti tos closure ir ērti izmanto priekš error handlinga. tb, nevis goto cleanup; bet izsauc cleanup() closure, kas visu izdara.
tipa:
if FAILED(hr) then cleanup(); return;
(kur cleanup() vietā C būtu bijis jāraksta "goto cleanup;"
(Lasīt komentārus)
Nopūsties: