11

Possible Duplicate:
What is the difference between ++i and i++
pre Decrement vs. post Decrement

Yes I'm a noob, but I completely forgot what they both do.

I know, however, that int++ just adds one to the value of int.

So, what is ++int?

Thank you.

Community
  • 1
  • 1
user1260584
  • 149
  • 2
  • 3
  • 8

4 Answers4

26

If you're talking about C (or C-like languages), it's exactly the same unless you use the value:

int a = 10;
int b = a++;

In that case, a becomes 11 and b is set to 10. That's post-increment - you increment after use.

If you change that line above to:

int b = ++a;

then a still becomes 11 but so does b. That's because it's pre-increment - you increment before use.

Note that it's not quite the same thing for C++ classes, there are efficiencies that can be had by preferring one over the other. But since you're talking about integers, C++ acts the same as C.

paxdiablo
  • 854,327
  • 234
  • 1,573
  • 1,953
5

a++ will return a and increment it, ++a will increment a and return it:

a = 5; b = a++; // b = 5, a = 6

a = 5; b = ++a; // b = 6, a = 6

iehrlich
  • 3,572
  • 4
  • 34
  • 43
3

Every expression in C or C++ has a type, a value, and possible side-effects.

int i;
++i;

The type of ++i is int. The side-effect is to increment i. The value of the expression is the new value of i.

int i;
i++;

The type of i++ is int. The side-effect is to increment i. The value of the expression is the old value of i.

Robᵩ
  • 163,533
  • 20
  • 239
  • 308
2

it's the preincrement operator

nice explanation here

msonsona
  • 1,306
  • 14
  • 20