c/c++语言开发共享我可以写一个非const结构的const成员吗?

这段代码合法吗?:

#include  typedef struct a_d{ int const x; } a_d; int a_d__ctor(a_d *X) { *(int*)&X->x = 42; //<-- legal or not? return 0; } int main() { a_d a; a_d__ctor(&a); printf("ax=%dn", ax); } 

    使用const限定符声明的对象调用未定义的行为 。

    根据标准(强调我的):

    C11 6.7.3 / 6 类型限定符

    如果尝试通过使用具有非const限定类型的左值来修改使用const限定类型定义的对象,则行为未定义。

      以上就是c/c++开发分享我可以写一个非const结构的const成员吗?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/562330.html

      (0)
      上一篇 2021年2月4日
      下一篇 2021年2月4日

      精彩推荐