Avatar ·

Rust प्रकारों में `dyn` कीवर्ड का क्या अर्थ है?

नमस्ते! मैंने Rust सीखना शुरू किया है और एक अजीब चीज़ देखी। कुछ उदाहरणों में मैं `Box` देखता हूँ, और दूसरों में सिर्फ `Box` या `&dyn Trait`। मैं समझने की कोशिश कर रहा हूँ कि `dyn` कीवर्ड वास्तव में क्या करता है। उदाहरण के लिए, मेरे पास यह कोड है: ```rust trait Animal { fn speak(&self); } struct Dog; impl Animal for Dog { fn speak(&self) { println!("भौं!"); } } fn main() { let pet: Box = Box::new(Dog); pet.speak(); } ``` अगर मैं `dyn` हटा दूँ और सिर्फ `Box` लिखूँ, तो कंपाइलर एक एरर देता है: "the trait `Animal` cannot be made into an object"। लेकिन मुझे समझ नहीं आता कि ऐसा क्यों होता है, और `dyn` का वास्तव में क्या मतलब है। क्या यह कोई विशेष प्रकार है? या मॉडिफायर? इसका उपयोग कब करना चाहिए और कब नहीं? कृपया समझाएँ।

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग