表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。
表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。
干嘛要用水泥?经常分狮的人都知道,买个小型砂带机,可以磨铁的...
2025-06-21阅读全文 >>我刚失业那一年,去餐厅打零工;干了两天,老板不要我干了,说没...
2025-06-21阅读全文 >>MoonBit 的 Beta 版发布意味着语法已趋于稳定,接...
2025-06-21阅读全文 >>作为一种静态编译的原生代码类语言,同时又是自带GC的原生代码...
2025-06-21阅读全文 >>抛去一切外部干扰,纯从美学角度分析。 1.歼20,虽然不是...
2025-06-21阅读全文 >>