Jaki jest narzut typu opcji Rusta?

W Rust odwołania nigdy nie mogą mieć wartości null, więc w przypadku, gdy rzeczywiście potrzebujesz wartości null, takiej jak lista połączona, używasz odwołaniaOption rodzaj:

struct Element {
    value: i32,
    next: Option<Box<Element>>,
}

Ile kosztuje ten proces w zakresie alokacji pamięci i kroków do wyłuskiwania w porównaniu z prostym wskaźnikiem? Czy w kompilatorze / środowisku wykonawczym jest „magia”Option bezpłatne lub tańsze niż w przypadku wdrożeniaOption samodzielnie w bibliotece innej niż podstawowa, korzystając z tego samegoenum skonstruować lub zawijając wskaźnik w wektor?

questionAnswers(2)

yourAnswerToTheQuestion