I could be wrong but that was an issue with C, which is why the major stylistic use was [int *p], since [int *p, *q, *r] was the only way to do it (short of seperate lines).
However, in C++ this was "fixed", now its [int* p], since [int* p, q, r] makes 3 int pointers.
Personally I use [int * p], I only use it next to a variable when I'm using it as a operation.