मेरी समझ से, const
संशोधक को दाईं से बाईं ओर पढ़ा जाना चाहिए। उस से, मुझे लगता है कि:
const 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
तो यह कौनसा है? क्या मेरी समझ या मेरा संकलक (वीएस 2005) गलत है?