Nella mia prospettiva, l'autore in realtà chiede una ragione per la funzione di costruzione. Non riesco a trovare nessuna buona ragione per tale mossa. È perché per ogni ciclo si intende una variabile universale o per lo meno direttamente così ottenuta, sarebbe necessario un trattamento speciale in vari metodi?
Questo ciclo è gestito da campi e istruzioni aggiuntivi. Sembra essere buono solo per citazioni semplici, rapide e di breve durata. Lo userei in una prospettiva di un tempo molto breve per scrivere - sfide, debugging, pressione sul lavoro.
Con lambda - questo rende un gruppo di metodi complicati. Ma questa è un'eredità di programmazione ad alto livello e una vita breve, purtroppo, IMO.
@KacyRaye a proposito, questo è un comportamento simile quando si utilizza il ciclo avanzato 'for' su classi di riferimenti oggetto (e la soluzione proposta qui è la stessa). –