【问题标题】:Is there a clearer way of representing dereferencing raw pointers and applying their functions in Rust?是否有更清晰的方式来表示取消引用原始指针并在 Rust 中应用它们的函数?
【发布时间】:2025-12-07 15:20:03
【问题描述】:

我正在使用 Rust 中的原始指针,并且有几行非常难以阅读,因为我在 Rust 中找不到与 C++ 中的-> 具有相似功能的运算符。有吗?

这是我目前难以阅读的代码的 sn-p:

(*(*block).next().unwrap()).split(ExcHeader(30));

【问题讨论】:

    标签: rust raw-pointer


    【解决方案1】:

    没有。 Rust 中的原始指针必须手动取消引用,因为这样做是不安全的操作。

    如果您一遍又一遍地重复取消引用同一个指针,您可以将其转换为引用 (let block = &*block;)。遗憾的是,没有后缀取消引用运算符,因此您对 next 作为指针的结果无能为力。

    【讨论】:

      最近更新 更多