是否有更清晰的方式来表示取消引用原始指针并在 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
作为指针的结果,您无能为力。
我在 Rust 中使用原始指针,我有几行真的很难读,因为我在 Rust 中找不到具有与 ->
类似功能的运算符在 C++ 中。有吗?
这是我的代码片段,目前难以阅读:
(*(*block).next().unwrap()).split(ExcHeader(30));
没有。 Rust 中的原始指针 必须 手动解除引用,因为这样做是不安全的操作。
如果您一遍又一遍地重复取消引用同一个指针,您可以将其转换为引用 (let block = &*block;
)。遗憾的是,没有后缀取消引用运算符,因此对于 next
作为指针的结果,您无能为力。