++i has clear advantages in C++ since it avoids temporary copies on custom object types. I think the default should be to use prefix increment and only use postfix increment when it's explicitly required.