The confusion I was referring to was the confusion between between ++i and i++, which is a common mistake for beginners. And one even experienced programmers are prone to fall foul to if they pick up the bad habit of using the i++ form regularly.
I don't dislike increment operators; but I do think they should be used when you're coding loops, etc. In recursion, I want to call the same function with i + 1, which is clearer to me if I code it as i + 1 rather than ++i.
Note that I also almost always use the ++i form.
As a rule, i++ should be avoided unles you really need post-increment behaviour. To avoid problems like those mentioned above. And post-increment operators can be less efficient than their pre-increment counterpart, for abstract data types, due to the way they're implemented.
The majority of coding standard I've read and worked to all make this same point: point 28 in Sutter and Alexandescu's book "C++ Coding Standards" is: "Prefer the canonical form of ++ and --. Prefer calling the prefix forms". Meyers makes the same point. As do many other people, e.g.
C++: Pre-increment v. Post-increment
Point: Favor Pre-increment over post-increment whenever possible.
http://syamsulhasran.blogspot.com/2008/12/c-pre-increment-v-post-increment.html
Some people say the choice or i++ versus ++i is just a matter of style. But it is not. It is a matter of safety, efficiency and consistency.
I find there is far, far too much use of the post-increment forms in the posts on this forum!!
Andy