संदर्भ पर समझ (&) इस सवाल का जवाब ..
संदर्भ बस चर है कि यह यह करने के लिए असाइन किया गया है करने के लिए एक उपनाम ..
और स्थिरांक की कोई समस्या संकलक द्वारा लगाए गए है वेरिएबल के रूप में घोषित किया गया है जिसे
int x = 1000;
const int &r = x;
इस मामले में, यह एक गैर कॉन्स्ट चर के संदर्भ का संदर्भ है। तो अगर आप संदर्भ चर आर के साथ एक्स के डेटा को बदल सकते हैं नहीं (सिर्फ एक केवल पढ़ने के लिए कार्य करता है) .. अभी तक आप अभी भी एक्स
const int z = 3000;
int &t = z
स्थिरांक सदस्य के लिए, गैर स्थिरांक संदर्भ को संशोधित करने के इस मामले में से बदल सकते हैं डेटा एक्स जो अर्थहीन है आप कह रहे हैं कि संदर्भ आपको एक कॉन्स सदस्य संपादित करने की अनुमति दे सकता है (जो कभी भी संभव नहीं है) ..
तो तुम एक स्थिरांक सदस्य के लिए एक संदर्भ बनाना चाहते हैं, यह पहला मामला आप
const int z = 3000;
const int &t = z;
विशेष रूप से उल्लेख किया है, 'r' के मूल्य बदल सकते हैं, भले ही यह घोषित किया जाता है की तरह हो गया है 'const'। – avakar
आमतौर पर, कंपाइलर एक साधारण सूचक के साथ संदर्भ लागू करते हैं। –
@quant_dev ओपी के नमूने को देखते हुए, स्रोत कोड जो 'x' और स्रोत कोड का उल्लेख करता है,' आर' का उल्लेख करता है, समान मशीन कोड में संकलित किया जाता है। कोई पॉइंटर्स शामिल नहीं है (मैंने देखा सभी कंपाइलर्स पर)। ऐसा नहीं है कि यह वैसे भी प्रासंगिक है। – Cubbi