每天听简报,了解最新科技、AI、软件资讯
C++26修好了一个存在十几年的语言缺陷:写一个什么都不做的死循环,以前编译器有权假设它不会真执行,直接删掉。有人演示过,死循环后面跟一个没被调用的函数,编译出的程序真的执行并打印了那个函数。这在嵌入式代码里是真实隐患:硬件初始化失败后惯用死循环停机,编译器却可能把停机逻辑整段删掉,机器停不下来。C语言早就定义这类循环合法,C++一直没跟进。新标准把它换成一次系统调用。评论区骂标准委员会坑了真实项目十几年,也有人说这修法更糟。
进度保存在本设备 · 登录同步