के संदर्भ को सब्सक्राइब करना मैं यहां कुछ सी ++ कोड देख रहा हूं और कुछ समझ नहीं रहा हूं। यह अप्रासंगिक है लेकिन यह एक YARP (रोबोट मिडलवेयर) ट्यूटोरियल से आता है जो दस्तावेज़ीकरण के साथ जाता है।कॉन्स
virtual void getHeader(const Bytes& header)
{
const char *target = "HUMANITY";
for (int i=0; i<8 && i<header.length(); i++)
{
header.get()[i] = target[i];
}
}
अब, हेडर कॉन्स का संदर्भ है और इस प्रकार इस फ़ंक्शन के भीतर संशोधित नहीं किया जा सकता है। get
पर इसे कहा जाता है, इसका प्रोटोटाइप char *get() const;
है। header.get()
कैसे सब्सक्राइब किया जा सकता है और संशोधित किया जा सकता है? कार्यक्रम ठीक संकलित करता है। मुझे यह नहीं समझा होगा कि यहां क्या होता है लेकिन मैं स्वयं को सी ++ प्राइमर में पढ़ा गया हूं ...
मैं थोड़ा सा स्पष्टीकरण की सराहना करता हूं!
आपका दिन शुभ हो,
'char * get() const;' मतलब है कि चार को पॉइंटर संशोधित नहीं किया जा सकता है। पॉइंट हो सकता है। – octoback
आप "char * const get()" के बारे में सोच रहे हैं। फ़ंक्शन के दाईं ओर "कॉन्स्ट" का अर्थ है "गैर-परिवर्तनीय सदस्यों को संशोधित नहीं करता है" – kfsone