c – Rust中的侵入式算法等价物
发布时间:2020-12-16 05:19:37 所属栏目:百科 来源:网络整理
导读:我正在看着Rust的编程语言,并尝试将C的思维转换为Rust.常见的数据结构,如列表和树,以前已经用C中的指针实现了,我不知道如何在Rust中实现确切的等价物.我感兴趣的数据结构是入侵算法,类似于Boost侵入库中的数据结构,这些算法在嵌入式/系统编程中非常有用. Rus
我正在看着Rust的编程语言,并尝试将C的思维转换为Rust.常见的数据结构,如列表和树,以前已经用C中的指针实现了,我不知道如何在Rust中实现确切的等价物.我感兴趣的数据结构是入侵算法,类似于Boost侵入库中的数据结构,这些算法在嵌入式/系统编程中非常有用.
Rust(Dlist)中的链表示例很简单,但是它使用容器类型,其中实际类型在容器内.我正在寻找的侵入式算法有一点相反:您有一个主要类型,列表节点插入或继承. 此外,Linux中的着名链表也是其中列表数据位于结构成员中的另一个示例.这就像Boost成员变体的入侵算法.这使您可以在多个列表/树中使用您的类型多次.如何与Rust合作? 所以我不确定如何将这些设计模式转换为在C/C++中习惯的Rust.任何有成功的人都了解了这一点? 解决方法
Rust想让你考虑所有权和生命周期.谁拥有会员,他们会活多久?
在Dlist的问题上,答案是“容器”.使用入侵算法没有明确的答案.一个列表的成员可能会在另一个列表中重用,而其他列表的成员可能被第一个列表破坏.最终你可能想使用引用计数(std::sync::Arc). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |