जंग में, संदर्भ कभी भी अशक्त नहीं हो सकते हैं, इसलिए ऐसे मामले में जहां आपको वास्तव में अशक्त होने की जरूरत है, जैसे कि एक लिंक की गई सूची, आप Option
प्रकार का उपयोग करते हैं :
struct Element {
value: i32,
next: Option<Box<Element>>,
}
एक साधारण पॉइंटर की तुलना में मेमोरी के आवंटन और डीरेफेरेंस के कदम के मामले में यह कितना ओवरहेड शामिल है? क्या संकलक / रनटाइम में कुछ "जादू" है, Option
लागत-मुक्त बनाने के लिए , या उससे भी कम महंगा है अगर कोई Option
एक ही enum
निर्माण का उपयोग करके गैर-कोर लाइब्रेरी में खुद को लागू करने के लिए , या एक वेक्टर में पॉइंटर लपेटकर?
Option
एनम में होता है , इसलिए यह उपयोगकर्ता द्वारा परिभाषित के लिए भी काम करेगाOption
।