Rust:一个不再有 C/C+的,实现安全实时软件的未来(11)
下面是这两种类型的实现结合得出的通用函数:
尖括号中的是类型参数,这一点和 C++ 中相同,但与 C++ 模板的不同之处在于我们可以使函数参数化。“此函数只适用于 Rateable 类型”的说法在 Rust 中是可以的,但在 C++ 中却毫无意义,这带来的后果不仅限于可读性。类型参数上的 trait bound 意味着 Rust 的编译器可以只对函数进行一次类型检查,避免了单独检查每个具体的实现,从而缩短编译时间并简化了编译错误信息。
Trait 也可以动态使用,虽然有的时候是必须的,但是并不推荐,因为会增加运行开销,所以作者在本文中并没有详细提及。Trait 中另一大部分就是它的互通性,例如标准库中的 Display 和 Add trait。实现 add trait 意味着可以重载运算符 +,实现 display trait 则意味着可以格式化输出显示。
Rust 的工具
C/C++ 中并没有用于管理依赖的标准,倒是有不少工具可以提供帮助,但是它们的口碑都不是很好。基础的 Makefiles 用于构建系统非常灵活,但在维护上就是一团垃圾。CMake 减少了维护的负担,但是它的灵活性较弱,又很让人烦恼。
推荐阅读
- 雷神|原神:曾经有一个强力五星角色,却因各种“流言蜚语”,擦肩而过
- 次世代|韩国战队全军覆没,斗鱼选手实力强大,一人击溃一个队
- 手机游戏|LOL手游第一个世界赛,破晓杯火热开战,DKG能紧随EDG夺冠吗?
- xyg|月光败给XYG不敢去采访,怕主持人问他一个问题!根本没办法解释
- 卡牌|王者峡谷最难抓的五个英雄,暗信算一个,榜首玩起来非常快乐
- 传奇世界|传奇世界:盘点当年出现过哪些漏洞,有一个至今都存在?
- 扁鹊|裴擒虎虎年限定有变,嫦娥拒霜思配音引热议,扁鹊有一个好消息
- 绝地求生|不播绝地求生,跑去玩双马尾少女?PDD后又一个主播“沉迷”幻塔
- 光·遇|光遇:追光季复刻盘点,下一个返场先祖,可能是笛子或者灯泡斗篷
- 地下城与勇士|DNF:“全民云上”时代到来,一个过气小副本,究竟有何魅力?