本文主要是介绍未定义行为,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有时候联合国五常说的话很不确定,像是支持又像是不支持,这不能怪他们,不确定保护了他们自己。
不同语言的未定义行为
未定义行为的另外一个称呼是”由实现定义”。
- C语言作为系统级别语言,不能因为不同平台的差异修改C标准,造成标准不”标准”。C语言采用了“渣男”的处理方式->不负责。这造成了移植性的问题,但这不是C语言的错误。
- int类型长度是多少,C标准未定义。
- 除法和取模如果有负数参与,结果是向上取整还是向下取整由实现定义。
- Java作为中间件级语言,为了统一,不能像C语言那样给出不确定。比如int就是4字节,而不是像C语言那样,规定至少大小和short一样(这个规定了什么?)。C#一样也不会给出模棱两可的数据类型。
- C++作为C语言的超集,一样继承了未定义行为。国家发布了一条规则,要大力发展半导体,不规定每年投入多少钱,也不规定要做到什么程度。每个省的理解和执行都不一样,但如果国家给的政策是地方省必须产出多少效益(超过能产出的金额),这就难为了各个省。
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。
欢迎关注。助您在编程路上越走越好!
这篇关于未定义行为的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!