सी++ डीरेरेफरेंस
मेमोरी एड्रेस और वैल्यू प्राप्त करें
पिछले पृष्ठ के उदाहरण में, हमने एक चर का मेमोरी पता प्राप्त करने के लिए पॉइंटर वेरिएबल का उपयोग किया ( &
संदर्भ ऑपरेटर के साथ मिलकर उपयोग किया गया)। *
हालांकि, आप ऑपरेटर ( डिरेफरेंस ऑपरेटर) का उपयोग करके, वेरिएबल का मान प्राप्त करने के लिए पॉइंटर का उपयोग भी कर सकते हैं :
उदाहरण
string food = "Pizza"; // Variable declaration
string* ptr =
&food; // Pointer declaration
//
Reference: Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
//
Dereference: Output the value of food with the pointer (Pizza)
cout <<
*ptr << "\n";
ध्यान दें कि यहां *
संकेत भ्रमित करने वाला हो सकता है, क्योंकि यह हमारे कोड में दो अलग-अलग चीजें करता है:
- जब डिक्लेरेशन (स्ट्रिंग* पीटीआर) में उपयोग किया जाता है, तो यह एक पॉइंटर वेरिएबल बनाता है ।
- जब घोषणा में उपयोग नहीं किया जाता है, तो यह एक डीरेफरेंस ऑपरेटर के रूप में कार्य करता है ।