Cuando declara una variable como
const T* ptr = /*...*/
Está declarando un puntero que indica que el objeto al que apunta, no el puntero, no debe cambiar. En otras palabras, es un "puntero a una T que es const".
Si desea hacer que sea imposible para reasignar el puntero, puede escribir
T* const ptr = /*...*/
Esto es ahora un puntero inmutable a una T, que puede ser modificado.
Se pueden combinar estos juntos como esto:
const T* const ptr = /*...*/
Para obtener un puntero a una inmutable T. inmutable
Como un toque divertido, por lo general puede determinar qué partes de un par de puntero/puntiaguda puede ser modificado leyendo el tipo de derecha a izquierda. Pruébalo en lo de arriba y mira lo que obtienes.
que le recomendamos que lea este post sobre [const] (http://stackoverflow.com/questions/1143262/what-is-the-difference-between-const-int-const-int-const- int-const) – canardman