Suppose I define char* s, then I call *s++. I guess it should do ++ first and then dereference. But look at a very typical code,
                char* s = "Hello";

	char* s2 = new char[100];

	char* p = s2;

		*p++ = *s++;

	*p = '\0';
Look at the statement *p++ = *s++, obviously p is deferenced first and then it is incremented. Is there anything I missed here? Thanks.