Rust:一个不再有 C/C+的,实现安全实时软件的未来( 六 )
不安全的 Rust
如作者之前所说,未定义行为发生的可能性是不能完全被清除的,这是由于底层计算机硬件固有的不安全性导致的。Rust 允许在一个存放不安全代码的模块进行不安全操作。C# 和 Ada 应该也有类似禁用安全检查的方案。在进行嵌入式编程操作或者在底层系统编程的时候,就会需要这样的一个块。隔离代码的潜在不安全部分非常有用,这样一来,与内存相关的错误就必定位于这个模块内,而不是整个程序的任意部分。
不安全模块并不会关闭借用检查,用户可以在不安全块中进行解引用裸引针,访问或修改可变静态变量,所有权系统的优点仍然存在。
重温所有权
说起所有权,就不得不提起 C++ 的所有权机制。
C++ 中的所有权在 C++11 发布之后得到了极大的提升,但是它也为向后兼容性问题付出了不小的代价。对于作者来说,C++ 的所有权非常多余,以前简单的值分类被吊打。不管怎么说,对 C++ 这样广泛使用的语言进行大规模优化是一项伟大的成就,但是 Rust 却是将所有权从一开始就当作核心理念进行设计的语言。
推荐阅读
- 雷神|原神:曾经有一个强力五星角色,却因各种“流言蜚语”,擦肩而过
- 次世代|韩国战队全军覆没,斗鱼选手实力强大,一人击溃一个队
- 手机游戏|LOL手游第一个世界赛,破晓杯火热开战,DKG能紧随EDG夺冠吗?
- xyg|月光败给XYG不敢去采访,怕主持人问他一个问题!根本没办法解释
- 卡牌|王者峡谷最难抓的五个英雄,暗信算一个,榜首玩起来非常快乐
- 传奇世界|传奇世界:盘点当年出现过哪些漏洞,有一个至今都存在?
- 扁鹊|裴擒虎虎年限定有变,嫦娥拒霜思配音引热议,扁鹊有一个好消息
- 绝地求生|不播绝地求生,跑去玩双马尾少女?PDD后又一个主播“沉迷”幻塔
- 光·遇|光遇:追光季复刻盘点,下一个返场先祖,可能是笛子或者灯泡斗篷
- 地下城与勇士|DNF:“全民云上”时代到来,一个过气小副本,究竟有何魅力?