Pa onda to sigurno kompajler radi i opet ne moram brinut
To je ista stvar zašto je ++i brže od i++. Ali je razlika toliko minorna da se programer time ne bi trebao zamarati. Nemam ja ništa protiv samo 0, ali osobno se s '\0' lakše snalazim u kodu.
Sada je: 12 svi 2024, 22:10.
Moderator/ica: Moderatori/ce
Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
26 post(ov)a
•
Stranica: 3/3. • 1, 2, 3
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
nicky je napisao/la:... (naredba više za izvođenje), a sa 0 nema tog koraka (kraći put).
Ne. Prouči malo kako compiler radi i vidla buš da uopće nema veze da li ti napišeš 0, '\0' ili NULL. Preprocesor prije kompajliranja ionako sve pretvori u 0, a kompajler dalje radi svoje.
4ndY je napisao/la:To je ista stvar zašto je ++i brže od i++.
Otkud ti to? Obje naredbe se prevode u istu instrukciju. Razlika je samo u prioritetu izvođenja: ++i prvo poveća i, a tek onda koristi novu vrijednost, a i++ prvo koristi (staru) vrijednost od i, a tek onda ga poveća.
Primjer:
- Kod: Označi sve
int a[] = {50, 100};
int i=0, j=0;
printf("%d %d", a[++i], a[j++]); --> ispiše se 100 50
printf("\n%d %d", i, j); --> ispiše se 1 1
Smile! It makes people wonder what you're thinking about...
I am NaN, I am a free man!
Započnite svoje Linux iskustvo na http://wiki.open.hr
I am NaN, I am a free man!
Započnite svoje Linux iskustvo na http://wiki.open.hr
Razlika je kod klasa u c++-u. i++ će napravit novu instancu klase i, dok ++i mijenja postojeću i samo vrati referencu na nju. Pa ako je i neka ogromna klasa razlika se osjeti.
Avoid the Gates of Hell. Use Linux!
Moja greška, ne procesor nego compiler.
DoDo je napisao/la:Otkud ti to? Obje naredbe se prevode u istu instrukciju.
Sorry, zaboravio sam da se tu radi samo o Cpp-u, kao što je naveo tartaglia. U C-u obje stvari idu u INC.
No sve u svemu i ako u Cpp-u testirate u for petlji koliko je razlika -> prezanemariva (s time da se mora pazit da kompajler ne koristi nikakve optimizacije) Po meni se time ne treba zamarati, jer se onda obično potroši vrijeme koje bi se bolje potrošilo za bitnije probleme.
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
tartaglia je napisao/la:Razlika je kod klasa u c++-u. i++ će napravit novu instancu klase i, dok ++i mijenja postojeću i samo vrati referencu na nju. Pa ako je i neka ogromna klasa razlika se osjeti.
Aha, tak već da, ali samo ako je i instanca neke klase koja ima implementiranu funkciju operator+ (ili operator+= - ne znam točno jer ne koristim te stvari u c++-u).
4ndY je napisao/la:Po meni se time ne treba zamarati, jer se onda obično potroši vrijeme koje bi se bolje potrošilo za bitnije probleme.
Slažem se!
Smile! It makes people wonder what you're thinking about...
I am NaN, I am a free man!
Započnite svoje Linux iskustvo na http://wiki.open.hr
I am NaN, I am a free man!
Započnite svoje Linux iskustvo na http://wiki.open.hr
26 post(ov)a
•
Stranica: 3/3. • 1, 2, 3
Na mreži
Trenutno korisnika/ca: / i 3 gostiju.