내 이해에서 const
수식어는 오른쪽에서 왼쪽으로 읽어야합니다. 그것으로부터 나는 그것을 얻습니다.
const char*
char 요소는 수정할 수 없지만 포인터 자체는 수정할 수있는 포인터입니다.
char const*
mutable
문자에 대한 상수 포인터 입니다.
하지만 다음 코드에 대해 다음과 같은 오류가 발생합니다.
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)가 잘못 되었습니까?