प्रोग्रामिंग में, "यह" पॉइंटर एक सदस्य फ़ंक्शन के भीतर वर्तमान ऑब्जेक्ट इंस्टेंस को संदर्भित करता है। यह फ़ंक्शन को ऑब्जेक्ट के डेटा और विधियों तक पहुंचने की अनुमति देता है। हालाँकि, एक प्रश्न उठता है: क्या यह जांचना कभी उचित होगा कि क्या "यह" शून्य है? जनता: int myFunction() { यदि (यह == nullptr) { वापसी -1; // त्रुटि कोड } ... } };
सवाल यह है कि क्या यह शून्य जांच आवश्यक है या वैध भी है।
class MyClass {
public:
int myFunction() {
if (this == nullptr) {
return -1; // Error code
}
...
}
};
हालाँकि, कुछ कार्यान्वयन गैर-आभासी कार्यों के लिए "यह == 0" के उपयोग की अनुमति देते हैं। परिणामस्वरूप, इन कार्यान्वयनों के लिए विशेष रूप से लिखी गई लाइब्रेरी इस हैक पर भरोसा कर सकती हैं। कॉल करने वाले की गलती. हालाँकि, ऐसे मुद्दों को डीबग करने के लिए पसंदीदा तरीका एसेट्स का उपयोग करना है। यह केवल यह दर्शाता है कि एक विधि कॉल एक शून्य सूचक या एक शून्य सूचक से प्राप्त संदर्भ पर किया गया था, जो सी में स्वाभाविक रूप से गलत व्यवहार है। अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3