|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
[C] Che differenza c'è tra "++i" e "i++"?!
Non dovrebbe essere proprio la stessa cosa, magari come side effect a volte lo è, ma non mi pare sia la stessa cosa.
Ad esempio se ho "i++" in 1 test significa che prima valuta i nel test e dopo lo incrementa, mentre se avesse "++i" nel test allora prima incrementa i e poi lo valuta nel test?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 24-04-2007 alle 11:35. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Quote:
Proprio come hai detto!
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ho editato, forse adesso è + precisa la mia definizione.
Ma quindi la differenza sta solo nei test? Tutto li?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#4 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
In entrambi i casi il valore della variabile i viene incrementato di uno.
Il valora dell'espressione, invece, corrisponde al vecchio valore di i nel caso di i++, e al nuovo valore di i nel caso di ++i. Ovviamente, gli operatori di decremento i-- e --i si comportano in modo simile.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
C'è questa differenza:
i = 1; a = i++; <--- a == 1 i = 1 a = ++i; <--- a == 2 |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ma se in 1 ciclo While devo incremetare un indice allora fare ++i o i++ non fa differenza vero?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se scrivi cosi:
++i; o i++; Non fa alcuna differenza...c'è la diffusa credenza che ++i sia più performante vedendo la traduzione assembler...ma credo che con i moderni compilatori e le moderne frequenze delle CPU la differenza sia impercettibile... |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Magari vengono tradotti entrambi nella stessa cosa IMHO.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2785
|
Quote:
while(++i<n) allora il ciclo viene eseguito una volta di meno rispetto a se usi while(i++<n) |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
i++ prima viene valutata i e poi viene incrementata. Isolata invece è =.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:38.












Proprio come hai detto!







