У Rust посилання ніколи не можуть бути нульовими, тому у випадку, коли вам насправді потрібне null, наприклад, пов'язаний список, ви використовуєте Option
тип:
struct Element {
value: i32,
next: Option<Box<Element>>,
}
Скільки накладених на це витрат з точки зору виділення пам’яті та кроків до розмежування порівняно з простим покажчиком? Чи існує якась "магія" у компіляторі / середовищі виконання, щоб зробити її Option
безкоштовною або менш затратною, ніж якщо б її самостійно реалізувати Option
в непрофільній бібліотеці, використовуючи ту саму enum
конструкцію, або обернувши покажчик у вектор?
Option
подібних" переліченнях, тому вона також буде працювати для визначених користувачемOption
.