Not a secret that using const T* to declare a pointer is exactly the same to T const* because it’s only important here to use const before * but the order of T and const doesn’t matter.
The both:
const T* p;
and
T const* p;
declare the pointer p to a const object but not a const pointer. The pointer itself can be modified:
T const* p; ... p = NULL;
But it’s impossible to modify the object:
T const* p; ... p->some_member = 0; // ERROR: error C2166: l-value specifies const object
This was the introductory and let’s talk about the topic.
I’m really keen to have readable sources. I could be wrong but in my opinion from the universal point of view using const at the beginning of an expression (for, instance, const T* p;) implies that the entire expression is const. It doesn’t really matter that in this particular case according to the C++ rules it means only that the object is const but not the pointer.
That is why T const* p; could be treated differently, notably “a type T which is const and the pointer to this type”. Readability becomes a bit better.
Of course, all these are questions of a coding style and it’s always recommended to be consistent modifying existing sources. But if you’re just learning or beginning a new project or something when it’s feasible to try something fresh, it may worth not to refuse yourself in this experience.