是否有更清晰的方式来表示取消引用原始指针并在 Rust 中应用它们的功能?

Is there a clearer way of representing dereferencing raw pointers and applying their functions in Rust?

我在 Rust 中使用原始指针,我有几行真的很难读,因为我在 Rust 中找不到具有与 -> 类似功能的运算符在 C++ 中。有吗?

这是我的代码片段,目前难以阅读:

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

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

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