gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 16:20:58 26 4
gpt4 key购买 nike

我正在研究 Rust 编程语言,并试图将我的 C++ 思想转换为 Rust。常见的数据结构,如列表和树,之前已经在 C++ 中用指针实现,我不确定如何在 Rust 中实现确切的等价物。我感兴趣的数据结构是侵入式算法,类似于 Boost 侵入式库中的算法,这些在嵌入式/系统编程中很有用。

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

另外,Linux 中著名的链表也是列表数据在结构体成员中的另一个例子。这就像侵入式算法的 Boost 成员变体。这使您可以多次在多个列表/树中使用您的类型。这将如何与 Rust 一起工作?

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

最佳答案

Rust 希望您考虑所有权和生命周期。谁拥有这些成员,他们还能活多久?

在 Dlist 的问题中,答案是“容器”。对于侵入式算法,没有明确的答案。一个列表的成员可能会在另一个列表中重用,而其他成员会随第一个列表一起销毁。最终,您可能希望使用引用计数 ( std::sync::Arc )。

关于c++ - Rust 中的侵入式算法等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25581889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com