If you read *pointer++, then it reads as "dereference this pointer and increment it". People read from left to right1, and so what you read is just what happens, albeit somewhat contorted (the increment actually happens first because of precedence, but the old value is retained for the dereference).
And as I just had to fix a related bug on friday... "dereference this pointer and increment it" is not correct, as a copy is dereferenced. When does this become relevant? Whenever you have to deal with InputIterators. Because incrementing an InputIterator may invalidate any other copies of the iterator. Including those returned by postfix operator ++. So a=*it++; will not behave the same as a=*it; ++it;
The morale of the story? Don't use postfix ++