昨天的程序最终检测是出现了UB,因此去查了SF的博文,谔补了一下
但是有没有什么办法能把UB弄没(我也不知道怎么说了。。。)
例如SF的日报中的样例
#include <iostream>
using namespace std;
int main()
{
int x;
cin>>x;
if(x+1<x)
cout<<"Overflow!"<<endl;
else
cout<<"Not overflow!"<<endl;
return 0;
}
那么按照SF的博文来说,假设编译器的配置很高并开启了氧气优化的话,输入2147483647则不会输出“Overflow!”。那么有没有什么办法让输入2147483647的情况下输出“Overflow!”呢?