सी में संदर्भ या सूचक से गुजरना: एक मार्गदर्शक सिद्धांत
सी में, यह समझना कि संदर्भ से गुजरना कब नियोजित करना है और सूचक का उपयोग कब करना है महत्वपूर्ण है. इस अभ्यास से कुशल और त्रुटि-मुक्त कोड प्राप्त हो सकता है।
सामान्य स्थितियाँ
किसी फ़ंक्शन में std::string पास करना:
किसी फ़ंक्शन में tr1::shared_ptr पास करना:
पॉइंटर्स बनाम संदर्भ
संदर्भ से गुजरने से स्थिरता मिलती है, क्योंकि प्रत्येक वस्तु को संदर्भ के रूप में माना जा सकता है। हालाँकि, पॉइंटर से गुजरने से nullptrs और शाब्दिक को संभालने की सुविधा मिलती है। वेक्टर> > आसन्न मानचित्र;
वेक्टर* मेरे मित्र = नया वेक्टर();
myFriends->push_back(string('a'));
myFriends->push_back(string("v"));
myFriends->push_back(string("g"));
adjacencyMap["s"] = share_ptr
संदर्भ और संकेतक दोनों के गुणों पर विचार करने की आवश्यकता पर प्रकाश डालता है:
मानचित्र कुंजियाँ उपयोग करती हैं संदर्भ, स्मृति दक्षता की गारंटी।वेक्टर पॉइंटर गतिशील आवंटन की अनुमति देता है, जिससे वेक्टर की सुविधा मिलती है अतिरिक्त।mapअंगूठे का नियम> > adjacencyMap; vector * myFriends = new vector (); myFriends->push_back(string("a")); myFriends->push_back(string("v")); myFriends->push_back(string("g")); adjacencyMap["s"] = shared_ptr >(myFriends);
संदर्भों का उपयोग करें: कुशल मेमोरी उपयोग के लिए और जब आपने संदर्भित ऑब्जेक्ट तक पहुंच की गारंटी दी हो।
उपयोग करें सूचक:
nullptrs को संभालते समय, गतिशील मेमोरी के साथ काम करते समय, या जब आपको स्वयं संदर्भों को संशोधित करने की आवश्यकता होती है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3