表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。
表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。
搬运一些,简单翻译 SlashData和Stack Over...
2025-06-19阅读全文 >>最近更着duckdb的 这个官方博客 做了下实验。 随机生成...
2025-06-19阅读全文 >>项目起因2021 年,我在面试中多次被问到数据库内核相关问题...
2025-06-19阅读全文 >>举个很简单的例子 去年78x3d 没火的时候 最低应该有人不...
2025-06-19阅读全文 >>把“保存”(s***e)翻译成“挽救”。 。 。 记得本世...
2025-06-19阅读全文 >>