相关疑难解决方法(0)

为什么存在"未定义的行为"?

某些常见的编程语言,尤其是C和C++,具有未定义行为的强烈概念:当您尝试执行某些操作之外的某些操作时,这会导致未定义的行为.

如果发生未定义的行为,则允许编译器执行任何操作(包括任何内容,'时间旅行'等).

我的问题是:为什么存在这种未定义行为的概念?据我所知,如果不是导致未定义的行为,使用超出其预期用途的操作会导致大量的错误,使用一个版本的编译器停止工作的程序,等等将被阻止一个编译错误.

为什么这不是事情的方式?

c c++ compiler-errors compilation undefined-behavior

9
推荐指数
2
解决办法
642
查看次数