c – Rust中的侵入式算法等价物

前端之家收集整理的这篇文章主要介绍了c – Rust中的侵入式算法等价物前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在看着Rust的编程语言,并尝试将C的思维转换为Rust.常见的数据结构,如列表和树,以前已经用C中的指针实现了,我不知道如何在Rust中实现确切的等价物.我感兴趣的数据结构是入侵算法,类似于Boost侵入库中的数据结构,这些算法在嵌入式/系统编程中非常有用.

Rust(Dlist)中的链表示例很简单,但是它使用容器类型,其中实际类型在容器内.我正在寻找的侵入式算法有一点相反:您有一个主要类型,列表节点插入或继承.

此外,Linux中的着名链表也是其中列表数据位于结构成员中的另一个示例.这就像Boost成员变体的入侵算法.这使您可以在多个列表/树中使用您的类型多次.如何与Rust合作?

所以我不确定如何将这些设计模式转换为在C/C++中习惯的Rust.任何有成功的人都了解了这一点?

解决方法

Rust想让你考虑所有权和生命周期.谁拥有会员,他们会活多久?

在Dlist的问题上,答案是“容器”.使用入侵算法没有明确的答案.一个列表的成员可能会在另一个列表中重用,而其他列表的成员可能被第一个列表破坏.最终你可能想使用引用计数(std::sync::Arc).

猜你在找的C&C++相关文章