Trong Rust, các tham chiếu không bao giờ có thể là null, vì vậy trong trường hợp bạn thực sự cần null, chẳng hạn như danh sách được liên kết, bạn sử dụng Option
kiểu:
struct Element {
value: i32,
next: Option<Box<Element>>,
}
Bao nhiêu chi phí liên quan đến điều này về cấp phát bộ nhớ và các bước để bỏ qua so với một con trỏ đơn giản? Có "phép thuật" nào đó trong trình biên dịch / thời gian chạy để làm cho không Option
tốn chi phí hoặc ít tốn kém hơn so với việc một người tự thực hiện Option
trong một thư viện không lõi bằng cách sử dụng cùng một enum
cấu trúc hoặc bằng cách bao bọc con trỏ trong một vectơ?
Option
enums "giống như", vì vậy nó cũng sẽ hoạt động cho người dùng xác địnhOption
.