Ho due cicli for in una funzione che assomiglia a questi:
for (int i=0; i < MAX; ++i) {
identical_lines
identical_lines
identical_lines
first_for_specific_line
identical_lines
identical_lines
identical_lines
first_for_specific_line
identical_lines
identical_lines
}
for (int i=MAX - 4; i > 0; --i) {
identical_lines
identical_lines
identical_lines
second_for_specific_line
identical_lines
identical_lines
identical_lines
second_for_specific_line
identical_lines
identical_lines
}
vale a dire. questi due cicli hanno differenti condizioni e indici, ma il loro codice è praticamente lo stesso (tutte le 'linee identiche' sono le stesse nei due cicli).
Tuttavia ci sono alcuni punti (quello contrassegnato da 'specific_line') che sono diversi per ognuno di questi per i loop.
Vorrei evitare la duplicazione del codice e unirli per cicli, ma non riesco a pensare a qualcosa per unificarli e avere ancora le diverse linee.
La lingua che sto usando è C ++