「物联网」Rust系列3:Rust如何避免C和c++的陷阱

         所以现在我已经彻底,也许不公平烤几个设计缺陷的一种编程语言超过四十岁,经营着世界上大多数嵌入式设备,让我们来谈谈如何锈设计出这些问题,同时仍然保留了C和c++的部分,让他们强大的和有用的语言。

注意:具体来说,我将在这里讨论“安全”生锈。你仍然可以使用unsafe关键字跳过护栏。但通常大多数代码都不需要这样做。

代数数据类型

“代数数据类型”是描述枚举类型的一种奇特方式,枚举类型是完全集成的,实际上是正常的和安全的,并且允许语言规范强制执行最佳实践。在经典语言的现代版本中,它们是一个常见的特性,因为它们具有关于正确性的有用属性。这是Scala、Kotlin和Swift等语言相对于Objective C和旧版本Java的优势。代数类型有点像类固醇上的C枚举:Rust枚举可以包含数据字段。它们也类似于C并集,因为它们只占用最大字段的空间(在大多数情况下,加上一个鉴别器)。但与union不同的是,您不会意外地将字段的字节误读为错误的变体。

 

【文章来源】:快资讯

©1999-2020 北京网路畅想科技发展有限公司版权所有 京ICP备12046739号-7 京公网安备 11011402010589号