मैंने कई वर्षों तक सी ++ में प्रोग्राम किया है और मुझे अभी भी एक चीज़ के बारे में संदेह है। अन्य लोगों को कोड में कई स्थानों में मैं की तरह कुछ देखें:क्या इसका उपयोग करने का कोई कारण है->
void Classx::memberfunction()
{
this->doSomething();
}
अगर मैं आयात/कि कोड का उपयोग करने की जरूरत है, मैं बस इस-> हिस्से को हटाने, और मैं कुछ भी टूटी हुई है या कुछ होने कभी नहीं देखा है दुष्प्रभाव।
void Classx::memberfunction()
{
doSomething();
}
तो, क्या आप इस तरह के निर्माण का उपयोग करने के किसी भी कारण से जानते हैं?
संपादित करें: कृपया ध्यान दें कि मैं सदस्य कार्यों के बारे में बात कर रहा हूं, चर नहीं। मैं समझता हूं कि जब आप किसी सदस्य चर और फ़ंक्शन पैरामीटर के बीच अंतर बनाना चाहते हैं तो इसका उपयोग किया जा सकता है।
संपादित करें: स्पष्ट डुप्लिकेट: Are there any reasons not to use "this" ("Self", "Me", ...)?
कोई भी इस बात का जिक्र नहीं कर रहा है कि सदस्य नामों को हल करने का एक और तरीका है http://en.wikipedia.org/wiki/Scope_resolution_operator का उपयोग करके। जैसे Classx :: DoSomething(); –
यदि किसी फ़ंक्शन पर लागू होता है तो यह गारंटी देने का प्रभाव होता है कि संभवतः वर्चुअल फ़ंक्शन का कौन सा संस्करण लागू होता है, पॉलिमॉर्फिज्म को रोकता है और आमतौर पर ओवरडिन फ़ंक्शन के माता-पिता को कॉल करने के लिए उपयोग किया जाता है। यह इस के बराबर सुरक्षित नहीं है-> कुछ करना()। –
यह सच है, मैं इस मामले के बारे में भूल गया था! धन्यवाद एंडी। –