Rust में Option<T> का null पॉइंटर्स की तुलना में कितना ओवरहेड है?
सभी को नमस्ते! मैंने अभी Rust सीखना शुरू किया है, C++ से आया हूँ। वहाँ मैं nullptr या NULL का उपयोग करता था ताकि मान की अनुपस्थिति को दर्शा सकूँ। Rust में इसके बजाय Option का उपयोग किया जाता है, और मुझे यह चिंता सता रही है: यह कितना महँगा है? आखिरकार, C++ में null पॉइंटर सिर्फ 0 होता है, और कोई अतिरिक्त लागत नहीं होती।\n\nउदाहरण के लिए, मेरे पास यह संरचना है:\n\n```rust\nstruct Node {\n value: i32,\n left: Option>,\n right: Option>,\n}\n```\n\nअगर मैं `left: None` करता हूँ, तो Rust को कहीं एक फ्लैग स्टोर करना होगा जो बताए कि यह None है। तो क्या प्रत्येक Option एक कच्चे पॉइंटर से अधिक मेमोरी लेता है? या कंपाइलर किसी तरह इसे ऑप्टिमाइज़ करता है?\n\nमैंने आकार जाँचने की कोशिश की:\n\n```rust\nuse std::mem::size_of;\n\nfn main() {\n println!("{}", size_of::