在C ++中更新const变量值

问题描述 投票:0回答:1

我知道我们在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变量值?

c++ const
1个回答
2
投票

通过任何机制(包括消除常量性)修改const值都会导致“未定义行为”(UB),这意味着您无法推理程序的行为。允许编译器假定const值永远不会改变,甚至可以将const值存储在只读内存页中。

© www.soinside.com 2019 - 2024. All rights reserved.