Ho una semplice domanda che mi sto ponendo soprattutto per la mia curiosità.Differenza di prestazione nella condizione di loop?
Quali sono le differenze tra queste due righe di codice? (In C++)
for(int i = 0; i < N, N > 0; i++)
for(int i = 0; i < N && N > 0; i++)
La scelta delle condizioni è del tutto arbitraria, sono solo interessato alla differenza tra, e & &.
Non sono un principiante per la codifica con qualsiasi mezzo, ma non mi sono mai preoccupato con l'operatore virgola.
Ci sono differenze di prestazioni/comportamento o è puramente estetico?
Un'ultima nota, so che ci sono pesci da prestazione più grandi da friggere rispetto a un operatore condizionale, ma sono solo curioso. Concedimi.
Modifica Grazie per le vostre risposte.
Si scopre che il codice che ha richiesto questa domanda ha utilizzato male l'operatore virgola nel modo in cui ho descritto. Mi sono chiesto quale fosse la differenza e perché non si trattasse di un operatore & &, ma è stato appena scritto in modo errato. Non pensavo che ci fosse qualcosa di sbagliato in questo, perché funzionava bene. Grazie per avermi raddrizzato.
Perché sei preoccupato per le prestazioni? Nel tempo necessario per ottenere una risposta a questa domanda, i 9 nanosecondi che avresti salvato usando l'una o l'altra notazione sarebbero già andati persi. "L'ottimizzazione prematura è la radice di tutti i mali ..." – Juliet
Non disse che era preoccupato - solo curioso. Vorrei davvero che la gente smettesse di sventolare il flag "ottimizzazione prematura" ogni volta che qualcuno "vuole solo sapere". La curiosità è una * cosa buona *. –
Mi chiedo quanto tempo si salverebbe se SO implementasse un filtro che, ogni volta che qualcuno menziona le parole "performance" o "più veloce" in una domanda, semplicemente auto-pubblica un commento dicendo "non ti è permesso di pensare a che, cittadino, ora torni al lavoro ";-) –