mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question अनियमित
speech play
speech pause
speech stop

रस्ट की स्वामित्व प्रणाली में अपबाइंडिंग को समझना

अपबाइंड एक शब्द है जिसका उपयोग रस्ट की स्वामित्व प्रणाली के संदर्भ में किया जाता है। यह एक नए मान को इंगित करने के लिए किसी संदर्भ या परिवर्तनीय संदर्भ की बाइंडिंग को "अद्यतन" करने की प्रक्रिया को संदर्भित करता है। रस्ट में, जब आप किसी ऑब्जेक्ट के लिए एक संदर्भ या परिवर्तनीय संदर्भ बनाते हैं, तो संदर्भ उस ऑब्जेक्ट के लिए "बाध्य" होता है। इसका मतलब यह है कि संदर्भ वस्तु की ओर इंगित करता है और उसके क्षेत्रों तक पहुंच सकता है। हालाँकि, यदि आप किसी भिन्न ऑब्जेक्ट को इंगित करने के लिए संदर्भ को अपडेट करना चाहते हैं, तो आपको संदर्भ को "अपबाइंड" करने की आवश्यकता है। जब आपके पास किसी ऑब्जेक्ट का संदर्भ या परिवर्तनशील संदर्भ हो, तो अपबाइंडिंग आवश्यक है, लेकिन आप ऑब्जेक्ट को एक नए से बदलना चाहते हैं एक। उदाहरण के लिए, यदि आपके पास 'स्ट्रिंग' का 'Vec' है और आप किसी एक स्ट्रिंग को नई स्ट्रिंग से बदलना चाहते हैं, तो आपको 'Vec' में नई स्ट्रिंग डालने से पहले पुरानी स्ट्रिंग के संदर्भ को अपबाइंड करना होगा। `.

किसी संदर्भ को अपबाइंड करने के लिए, आप `std::mem::replace` फ़ंक्शन का उपयोग करते हैं। यह फ़ंक्शन दो पॉइंटर्स को तर्क के रूप में लेता है: पहला पॉइंटर संदर्भ का वर्तमान मान है, और दूसरा पॉइंटर नया मान है जिसे आप संदर्भ को बांधना चाहते हैं। फ़ंक्शन नया मान लौटाता है जो संदर्भ से जुड़ा था। यहां एक उदाहरण दिया गया है कि आप रस्ट में एक संदर्भ को कैसे अपबाइंड कर सकते हैं:
```
let mut vec = Vec::new();
vec.push(String::from( "हैलो"));

// एक नई स्ट्रिंग को इंगित करने के लिए पहली स्ट्रिंग के संदर्भ को अपबाइंड करें
let new_string = String::from("अलविदा");
vec[0] = std::mem::replace(&vec[0 ], &new_string);
```
इस उदाहरण में, हम `String`s का `Vec` बनाते हैं और एक स्ट्रिंग को वेक्टर पर धकेलते हैं। फिर, हम एक नई स्ट्रिंग को इंगित करने के लिए पहली स्ट्रिंग के संदर्भ को अपबाइंड करते हैं। `std::mem::replace` फ़ंक्शन संदर्भ के वर्तमान मान का पता (`&vec[0]`) और नए मान का पता (`&new_string`) लेता है। यह नया मान लौटाता है जो संदर्भ (`new_string`) से जुड़ा था।

रस्ट की स्वामित्व प्रणाली में अपबाइंडिंग एक महत्वपूर्ण अवधारणा है, क्योंकि यह आपको डेटा दौड़ या अपरिभाषित व्यवहार के अन्य रूपों के बारे में चिंता किए बिना वस्तुओं के संदर्भों को सुरक्षित रूप से अपडेट करने की अनुमति देता है।

Knowway.org आपको बेहतर सेवा प्रदान करने के लिए कुकीज़ का उपयोग करता है। Knowway.org का उपयोग करके, आप कुकीज़ के हमारे उपयोग के लिए सहमत होते हैं। विस्तृत जानकारी के लिए, आप हमारे कुकी नीति पाठ की समीक्षा कर सकते हैं। close-policy