For every type that supports increment/decrement, be it a scalar type like int or a user-defined type like the iterator of a std::list:
By default, use the prefix version of the increment/decrement operator.
Use the postfix version if and only if you need a copy of the object before it was incremented/decremented