|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2002
Città: centro Italia
Messaggi: 1189
|
domanda forse banale sul C
una domanda:
mettiamo che ho una variabile intera, chiamiamola x, voglio incrementarla di 1, che differenza c'è tra le seguenti notazioni? a) x=x+1 b) x+=1 c) x++ d) ++x so che tra x++ e ++x, nel primo caso si incrementa x e poi si esegue l'espressione, mentre nel secondo caso è il contrario, ma come tempo di CPU richiesto, c'è differenza? nel caso l'incremento di 1 sia un caso particolare, c'è differenza tra A) x=x+y B) x+=y dove y è una costante o una variabile? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dipende in cosa vuoi quantificare queste differenze...
Sicuramente x += 1 è più veloce di x = x + 1... C'è chi dice che ++x sia più veloce di x++, ma non è detto...credo che dipenda dalle ottimizzazioni del compilatore... La differenza fra ++x e x++ è che in x++ il risultato dell'operazione è il contenuto originale di x e poi dopo x viene incrementata... ++x ritorna già x incrementato... x = 5; y = ++x; /*y è uguale a 6 */ x = 5; y = x++; /*y è uguale a 5 */ |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:28.


















