Typically the code that I have seen uses phrases such as i++ as opposed to ++i. Recently, in a recently purchased book, I have seen the former implemented.

As I understand i++ means that the addition takes place after the line is executed and thus with the initial value of i. Furthermore, ++i means that 1 is added to i before the line is executed, thus changing altering the value of whatever i was used to calculate.

for example:
int i = 4
x = i++ * 10. x would be equal to 40. only after the line is executed does i equal 5.

However, in the code
int i = 4
x = ++i * 10., x would be equal to 50, because i takes on the value of 5 before the line is executed.

This all brings me to my conundrum. What is the difference between the following two lines of code:

for (int i = 0; i < something; i++)
{}
and
for (int i = 0; i < something; ++i)
{}

I'm going to take a guess that that final addition to i always takes place after the code inside the brackets is executed. This would lead to me believe that the two lines are identical; however, I somehow doubt this is the case. Can someone give me hand? Thank you very much.

You're right. The two lines are identical.

Let's take for(int i =0 i <10; i++) { //do stuff} for example.
another way to write this code is:

int i=0
while (i< 10)
{
    // do stuff
    i++;
}

As you can see in the code above, it doesn't matter if you write i++ or ++i. As long as it gets incremented by one.
Here's another example to ake things clearer:

#include <iostream>
#include <string>

using namespace std ;

int main()
{

    for (int i = 0; i < 10; i++)
        cout << i;

    cout << endl;

    for (int i = 0; i < 10; ++i)
        cout << i;

    cout << endl;
    
    int i =0;
    while (i < 10)
    {
        cout << i;
        i++;
    }
    cout << endl;

    i =0;
    while (i < 10)
    {
        cout << i;
        ++i;
    }
    return 0;
}

will output:

0123456789
0123456789
0123456789
0123456789

The only difference is that for

i++, the compiler creates a temporary (the value of i before the incremental) for use.

I'm sure that most compilers now optimse the situation where the temporary is not needed and hence this is no longer an issue

This question has already been answered. Start a new discussion instead.