Supposedly:
for (vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)
{}
I do understand the difference when it comes to pre/post increment for built-in types like int etc but in terms of an iterator, what’s the difference here between ++iter and iter++? (Bear in mind that I do know that both yield the same result here).
The difference is they do not yield the same result, while this particular example will do the same regardless of the increment form used. The pre-increment form first increments the value, and then returns it; while the post-increment form increments the result but returns the value previous to incrementation. This is usually a no cost for fundamental types, but for things like iterators it requires creating a temporary value to hold the non-incremented value, in order to be later returned.