Benim anlayışıma göre, const
değiştiriciler sağdan sola okunmalıdır. Bundan anlıyorum:
const char*
char öğeleri değiştirilemeyen bir göstericidir, ancak işaretçinin kendisi yapabilir ve
char const*
mutable
karakterlere sabit bir göstericidir .
Ancak aşağıdaki kod için aşağıdaki hataları alıyorum:
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
Peki ... hangisi o? Anladığım veya derleyicim (VS 2005) yanlış mı?