Можем ли мы изменить значение переменной const?

ОтЭта стать.

Другое использование для объявления переменной какregister а такжеconst должен запретить любое нелокальное изменение этой переменной, даже если взять ее адрес и затем привести указатель. Даже если вы думаете, что сами никогда не сделаете этого, как только вы передадите указатель (даже с атрибутом const) для какой-либо другой функции, вы никогда не можете быть уверены, что это может быть вредоносным, и изменить переменную у вас под ногами.

Я не понимаю, как мы можем изменить значениеconst переменная по указателю. Разве это не неопределенное поведение?

const int a = 81;
int *p = (int *)&a;
*p = 42; /* not allowed */

Ответы на вопрос(5)

Ваш ответ на вопрос