>>375
一番左のconstは構文上の利便性のために特別扱いされてる。
「const T* const」は
「T const * const」と解釈される。

constは左結合。
T ←const(実体がconst) * ←const(ポインタ値がconst)

※別の例
char * * const a = NULL;
a = NULL; //コンパイルエラー

char * const * b = NULL;
*b = NULL; //コンパイルエラー