关于const常量(C/C++)的几点分享

常量作为C/C++中相当重要的一部分,我们在代码中大量使用,但很多时候,我们都希望常量能在我们需要的时候,又能够被修改,所以,以下为相关内容的分享。
声明:以下结论读者可自行尝试,若结果不同,可在评论区留言,方便我再三验证后进行修改。

1.修改const常量的行为是一种未定义行为,即依赖于编译器的处理标准不同,我们的修改结果也就不同,我在这里亲自实验过的编译器或者IDE有vscode,vs2019,它们对于这种未定义行为都是禁止的,但在另外一些编译器,如GCC,Clang上是允许的,数据来源于知乎用户d67f0a37,而对于这种const常量的修改,也存在着不同的情况,首先,同为const常量,如果定义在函数外部,那么可以通过指针间接修改,反之,若是定义在函数内部,结果自然不同,这是因为所处位置不同,数据来源于知乎用户嵌入式Linux,文章请点击
2.尽管同样是未定义行为,但C和C++的处理方式是不同的,一般来讲,C++会从符号表中取值,而C是从内存中读取,因此,如果不加其他修改符之类的,C++相对于C来讲,很难被修改。详细解释请点击

在下才疏志浅,文章的不当之处,还请多多指教,非常感谢。其次,如果学习到了新的内容,我会继续更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值