2016-03-12 8 views
3

Я работаю с необработанными указателями в Rust, и у меня есть пара строк, которые действительно трудно читать, потому что я не могу найти оператора в Rust, который имеет аналогичную функцию для -> в C++. Есть ли один?Есть ли более четкий способ представления разыменования исходных указателей и применения их функций в Rust?

Вот фрагмент моего кода в настоящее время трудно читать состояние:

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

ответ

6

No. Сырые указатели в Rust должны разыменовываться вручную, так как при этом в опасной операции.

Если вы повторно разыгрываете один и тот же указатель снова и снова, вы можете просто преобразовать его в ссылку (let block = &*block;). К сожалению, нет постфиксного оператора разыменования, поэтому вы не можете сделать так, чтобы результат next был указателем.

 Смежные вопросы

  • Нет связанных вопросов^_^