Forskel på ++i og i++?

Tags:    c++ counter

Hejsa

Jeg er stadig ny i programmerings verdenen og er igang med at lære c++.

Jeg har set rundt omkring, og selv afprøvet, at det ikke har nogen funktionel forskel hvis man skriver ++i fremfor i++.

Men har det nogen effektiv forskel? Er ens program en lille bitte smule hurtigere hvis der står ++ først? Hvilket jo er meget effektivt hvis det er et program som gør brug af denne funktion meget.

Er der andre lignende små ting som man kan ændre som gør ens program hurtigere?



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 12 karma
Sorter efter stemmer Sorter efter dato
Ja, det har en lille forskel afhængigt af hvordan du skriver det.

++i, så skrer incremeant funktionen før, at i bliver valideret, så hvis man har følgende stykke kode

int tal = 5;
int resultat = 10;

resultat = ++tal;

//så er resultat = 16

//Hvis man havde haft skrevet:
resultat = tal++;

//så havde resultat = 15;

Det skal dog nævnes, at uanset, hvilken af metoderne, man vælger så er værdien af tal, stadigvæk 6 efter at den linjes kode er blevet kørt.

håber, at det opklarede lidt :)



Det burde nok have været result += tal++ , men pointen er rigtig :)



Hvad angår effektiviteten af det ene frem for det andet, så burde enhver moderne (god) compiler gerne sørge for at optimere det - således der ingen forskel er på det ene frem for det andet.





Det burde nok have været result += tal++ , men pointen er rigtig :)


hehe, det har du ret i, en lille forglemmelse fra min sidde :)



t