我知道我们在C中以这种方式更改const变量值(通过将其更改为非const)。
#include<stdio.h>
#include<stdlib.h>
int main()
{
const int var = 10;
int *ptr = &var;
*ptr = 5;
printf("var = %d\n", var);
return 0;
}
C ++中类似的东西(使用指针)给了我一个编译错误
如何在C ++中更新const变量值?
通过任何机制(包括消除常量性)修改const
值都会导致“未定义行为”(UB),这意味着您无法推理程序的行为。允许编译器假定const
值永远不会改变,甚至可以将const
值存储在只读内存页中。