Unreal For Loop increment is pre or post?

How this for loop works in ue4? pre or post incrementation?
testtransform62

for(int32 i = 1; i <=10; ++i)
{
 //some code
}

my code is correct?

Hey there @Alexa.Ki! The for loop post increments every time it loops through the body in blueprints, so this will index out
1 2 3 4 5 6 7 8 9 10
And then it will stop looping and output on the completed pin. Same with your C++ example.

2 Likes

Thank you sir for reply, and I think I am pre incrementing

++i // pre incrementing
i++ // post incrementing

I should use i++ // post incrementing according to my Blueprint Code ?

The fun part is that they both actually have the same output!
The reason this doesn’t matter in a for loop is that the flow of control works roughly like this:

  1. test the condition
  2. if it is false, terminate
  3. if it is true, execute the body
  4. execute the incrementation step

Unless I’m highly mistaken right now.

2 Likes

Just In normal C++ the things are more simple, this is why I GOT confused by BP for loop.

int i = 1;
int j = 1;

int k = i++; // post increment
int l = ++j; // pre increment

std::cout << k; // prints 1
std::cout << l; // prints 2

Post increment implies the value i is incremented after it has been assigned to k . However, pre increment implies the value j is incremented before it is assigned to l .

absolutely right

you could just add a Print Text node to the blueprint, and wire the Index to it, so you can see what it does.

1 Like

yes I did the same and found this is post incrementation i++