अंतिम अद्यतन:2026-10-12
C++ dereference ऑपरेटर *¶
0.परिचय¶
आमतौर पर पॉइंटर के साथ काम करते समय हम * का उपयोग करते हैं, उदाहरण के लिए:
इसके अलावा, इसके और क्या उपयोग हैं?
जवाब हाँ है, उदाहरण के लिए, C++ में निम्नलिखित तीन और भी हैं:
::*.*->*
तो क्या आप जानते हैं ये तीन क्रमशः क्या दर्शाते हैं?
1.::*¶
::* को Pointer to member declarator कहा जाता है, यानी मेंबर declarator का पॉइंटर।
एक उदाहरण देखें:
नीचे दिए उदाहरण में आप w_ का पता कैसे निकालेंगे?
अगर आप double * d = &w_; लिखें, तो यह अमान्य होगा, क्योंकि पता नहीं w_ कहाँ है, इसलिए मेंबर declarator का पॉइंटर चाहिए, ताकि उसे बाइंड किया जा सके; इस पॉइंटर के मिलने के बाद मेंबर को एक्सेस किया जा सकता है, आगे बाकी दो पर आते हैं।
class Rectangle {
public:
double w_, h_;
Rectangle(double w, double h) : w_(w), h_(h) {}
double area() { return w_ * h_; }
};
int main() {
Rectangle r{2.1, 3.2};
double Rectangle::* w = &Rectangle::w_;
r.*w = 2.2;
std::cout << r.w_ << std::endl;
};
2..*¶
.* को pointer to member of object कहा जाता है, यह समझना आसान है, यह ऑब्जेक्ट के मेंबर को एक्सेस करने वाला पॉइंटर है, मेंबर का पॉइंटर आपको क्लास ऑब्जेक्ट के non-static मेंबर को refer करने देता है। मेंबर पॉइंटर का उपयोग static क्लास मेंबर की ओर नहीं किया जा सकता, क्योंकि static मेंबर का पता किसी खास ऑब्जेक्ट से संबंधित नहीं होता।
इसलिए ऊपर के उदाहरण में यह लाइन होने से मेंबर w की वैल्यू 2.2 कर दी गई।
3.->*¶
->* को pointer to member of pointer कहा जाता है, यह और भी आसान है, .* की तरह ही है, बस यह पॉइंटर ऑब्जेक्ट के मेंबर के पते पर काम करता है,
इसलिए संगत उदाहरण बन जाता है:
ज़्यादा विस्तार के लिए cppreference.com पढ़ें।
https://en.cppreference.com/w/cpp/language/pointer#Pointers_to_members
क्या सीख लिया? इस सेक्शन का अंत~
संबंधित विषय¶
- C++ प्योर वर्चुअल फ़ंक्शन और एब्स्ट्रैक्ट क्लास | C++那些事
- C++ assert | C++那些事
- C++ bit-field | C++那些事
- C भाषा से C++ पॉलीमॉर्फ़िज़्म | C++那些事
- C++ const constant और qualifier | C++那些事
- C++ const परिवार | C++那些事
- C++ इनिशियलाइज़ेशन और असाइनमेंट | C++那些事
- C++ multiple return values लिखने के तरीके | C++那些事
- C++ mutable कीवर्ड | C++那些事
- C++ restrict और कंपाइलर अनुकूलन | C++那些事