Ho sentito qualcuno dire che i compilatori spostano frequentemente le condizioni del ciclo fino alla fine del ciclo. Cioè, loop come questi:Perché il ciclo di test in basso è preferibile?
while (condition) {
...
}
è così modificata:
if (condition) {
do {
...
} while (condition);
}
per quanto riguarda l'ottimizzazione della macchina indipendenti, per cui è preferibile quest'ultima?
In effetti, il secondo ciclo non valuta la condizione nella parte superiore del ciclo. Salta giù fino al momento in cui continua, come se avesse appena terminato un'iterazione. –