表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。
表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。
如何看待 Rust 写的 PNG 解码器比 C 实现更快?×...
2025-06-20阅读全文 >>一个社区语言能泛起多大浪花?PHP30周年线上活动PHPve...
2025-06-20阅读全文 >>有人说:袁咏仪是一个极其彪悍的女人! 2004年,小S在...
2025-06-20阅读全文 >>一般三个阶段:x99第一阶段、amd第二阶段、epyc第三阶...
2025-06-20阅读全文 >>讲几个中国和伊朗军售的故事。 上世纪八十年代末,我们湖南的...
2025-06-20阅读全文 >>