私の理解では、const
修飾子は右から左に読む必要があります。それから、私はそれを得る:
const char*
char要素を変更できないポインタですが、ポインタ自体は変更できます。
char const*
mutable
charsへの定数ポインタです。
しかし、次のコードで次のエラーが発生します。
const char* x = new char[20];
x = new char[30]; //this works, as expected
x[0] = 'a'; //gives an error as expected
char const* y = new char[20];
y = new char[20]; //this works, although the pointer should be const (right?)
y[0] = 'a'; //this doesn't although I expect it to work
それで...それはどれですか?私の理解または私のコンパイラ(VS 2005)は間違っていますか?