This Pointer In C++ In Hindi|This pointer क्या होता है और यह कैसे काम करता है ?

हेलो फ्रेंड्स, आज के इस ब्लॉग पोस्ट(This Pointer In C++ In Hindi) में हम C ++ में use होने वाले this pointer के बारे में बताने वाले है |

जैसे कि हम जानते है कि pointer(This Pointer In C++ In Hindi) एक variable ही होता है जिसका use हम किसी और variable का address या reference को store या होल्ड करने के लिए करते है |

जबकि एक variable में हम कुछ value होल्ड करते है|This Pointer In C++ In Hindi|

C ++ में pointer का use हम किसी भी member function के अंदर object का address का hold या रिप्रेजेंट करने के लिए करते है |This Pointer In C++ In Hindi|

पर इस this pointer(This Pointer In C++ In Hindi) को समझने से पहले आपको यह समझना बहुत जरुरी है कि कैसे एक object एक क्लास के डाटा मेंबर और मेंबर फंक्शन को देखता है या treat करता है ?

यहाँ पर हम सबसे पहले डाटा मेंबर के सन्दर्भ में बात करते है | जिन्हे हम वेरिएबल भी बोल सकते है |

प्रत्येक object हर वेरिएबल के लिए एक अपनी कॉपी रखता है |

और प्रत्येक object हर मेंबर फंक्शन कि एक सिंगल कॉपी शेयर करते है |

ऊपर लिखे दोनों पॉइंट्स का सन्दर्भ यह है कि हर ऑब्जेक्ट के पास एक वेरिएबल की अलग अलग अपनी खुद की कॉपी होती है |

पर प्रत्येक ऑब्जेक्ट एक मेंबर फंक्शन अथवा मेथड की एक सिंगल कॉपी शेयर करते है |

दोस्तों पर यहाँ पर आपके दिमाग में एक question जरूर हो सकता है कि हमें this pointer(This Pointer In C++ In Hindi) कि जरुरत क्यों होती है ?

C ++ में हमें this pointer की जरुरत निम्नलिखित कारणों की वजह से होती है |

1.variable name और method name same होते है |

यहाँ पर नीचे दिए हुए प्रोग्राम में हम देख सकते है कि जो data member है num और ch उनके नाम local variable के नाम जैसे ही है जो कि setvalue () method में पास हो रहे है |

ऐसे केस में अगर हम लोकल वेरिएबल की वैल्यू को डाटा मेंबर में assign करना चाहते है तो हमें यहाँ पर this पॉइंटर का use करना पड़ेगा नहीं तो यहाँ पर compiler को यह पता नहीं चलेगा कि आप…

… data member के object ‘s को refer कर रहे हो | इसलिए ऐसी situation में आपको this pointer का उपयोग करना ही पड़ेगा |

#include <iostream>
using namespace std;
class Demo {
private:
  int num;
  char ch;
public:
  void setMyValues(int num, char ch){
    this->num =num;
    this->ch=ch;
  }
  void displayMyValues(){
    cout<<num<<endl;
    cout<<ch;
  }
};
int main(){
  Demo obj;
  obj.setMyValues(100, 'A');
  obj.displayMyValues();
  return 0;
}

Output:

100
A

2. calling object को reference return करने के लिए |

यह this pointer का एक और example है जहाँ पर हम करंट ऑब्जेक्ट के रिफरेन्स को return करते है |

जिससे कि हम फंक्शन कॉल को एक चेन में बांध सके| ऐसा करके आप करंट ऑब्जेक्ट के लिए सभी फंक्शन को एक ही बार में कॉल कर सकते है |

यहाँ पर इस नीचे दिए हुए प्रोग्राम में एक ध्यान देने वाली बात यह है कि यहाँ पर हमने second function में num ऑब्जेक्ट की वैल्यू को increment किया है |

और यह आप इस प्रोग्राम के आउटपुट में देख सकते है कि जो वैल्यू हमने first function में सेट की थी वो actual में इन्क्रीमेंट हो हो गयी है |

इससे यह पता चलता है कि चेनिंग एक sequential order में होती है और यह object डाटा की वैल्यू में किये गए चेंज को retain रखती है|

जिसे कि अगले फंक्शन कॉल में इस्तेमाल किया जा सकता है |

#include <iostream>
using namespace std;
class Demo {
private:
  int num;
  char ch;
public:
  Demo &setNum(int num){
    this->num =num;
    return *this;
  }
  Demo &setCh(char ch){
    this->num++;
    this->ch =ch;
    return *this;
  }
  void displayMyValues(){
    cout<<num<<endl;
    cout<<ch;
  }
};
int main(){
  Demo obj;
  //Chaining calls
  obj.setNum(100).setCh('A');
  obj.displayMyValues();
  return 0;
}

Output:

101
A

यह this pointer केवल non -static member function के अंदर रहता है जबकि static member function में यह नहीं रहता है |

क्योकि static member function को बिना object create किये ही class नाम कि सहायता से ही कॉल कर सकते है |

Friend function में यह this pointer(This Pointer In C++ In Hindi) नहीं होता है क्योकि friend function class का मेंबर नहीं होता है |

You can also go through a few more amazing blog links related to C/C++:

Problems of procedure-oriented language in Hindi…
This Pointer In C++ In Hindi…
how to learn c language easily…
C Language Interview Question In Hindi…
Looping In C In Hindi…
Switch Statement In C In Hindi…
IF Statement In C In Hindi…
IF-Else Statement In C In Hindi…
Nested If-Else Statement In C In Hindi…
Top to bottom vs Bottom-up programming approach in Hindi…

Quick Q&A:

What are pointers in C++? Explain? C ++ में this pointer क्या होता है explain करिये?

सबसे पहले तो आप यह जान लीजिये कि एक pointer जो है वो एक variable होता है जो कि एक object के memory address को स्टोर करता है|

pointer जो है वो c और c ++ दोनों में ही extensively use होते है और इसके मुख़्य purpose होते है:

heap में नए object को allocate करना |
एक फंक्शन को दूसरे फंक्शन में पास करना |

What are the applications of this pointer in C++? c ++ में this पॉइंटर के applications क्या क्या है?

This पॉइंटर के तीन मुख़्य applications निम्नलिखित है:

return object – This पॉइंटर जो है वो ऑब्जेक्ट return करता है जिसको यह पॉइंट करता है |
मेथड chaining
डाटा members को distinguish करता है |

What is this pointer advantage in C++? c ++ में This pointer का क्या advantage है ?

pointer जो है वो program की complexity और length को कम करते है |

Pointer की मदद से हम arrays और स्ट्रिंग को फंक्शन में बहुत ही आसानी से पास कर सकते है |

पॉइंटर की मदद से हम एक function से एक से ज्यादा वैल्यू भी return करवा सकते है |

Conclusion:

तो दोस्तों इस ब्लॉग(This Pointer In C++ In Hindi) में हमने C++ में use होने वाले This pointer के बारे में जाना | कि कैसे हम This pointer की मदद से हम लोकल variable जो कि एक फंक्शन में पास किये जाते है को अपने instance variable अथवा member variable में assign करते है | This pointer की मदद से हम यह object reference provide करते है जिससे की compiler इसे आसानी से समझ सके| और दूसरा हमने यह सीखा कि कैसे हम एक करंट object के रिफरेन्स को कैसे return कर सकते है |

इस ब्लॉग(This Pointer In C++ In Hindi) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते support@a5theory.comपर ईमेल लिख सकते है|

आशा करता हूँ, कि आपने इस पोस्ट (This Pointer In C++ In Hindi) को खूब एन्जॉय किया होगा|

आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|

आपका समय शुभ हो|

Anurag

I am a blogger by passion, a software engineer by profession, a singer by consideration and rest of things that I do is for my destination.