Improved recommendation to use pre-increment in loops instead of post-increment

This commit is contained in:
Robin Schlegel
2015-06-28 11:34:48 +02:00
parent a7cefe5b87
commit 7f680ba44d

View File

@@ -270,12 +270,13 @@ for (int i = 0; i < 15; i++)
std::cout << i << '\n'; std::cout << i << '\n';
} }
// Good Idea // Good Idea
for (int i = 0; i < 15; ++i) for (int i = 0; i < 15; ++i)
{ {
std::cout << i << '\n'; std::cout << i << '\n';
} }
``` ```
Even if many modern compilers will optimize this two loops to the same assembly code, it is still good practice to prefer `++i`. There is absolutely no reason not to and you can never be certain that your code will not pass a compiler that does not optimize this.
You should be also aware that the compiler will optimize this only for integer types and not for loops with iterators or objects with an overloaded ++operator.
The bottom line is that it is always easier and recommended to use the pre-increment operator if it is semantically identical to the post-increment operator.