मेरे पास C++ में संदर्भों के उपयोग से संबंधित कुछ प्रश्न हैं।मैं किसी संदर्भ के लिए एक नया मान क्यों निर्दिष्ट कर सकता हूं, और मैं किसी संदर्भ को संदर्भित कैसे कर सकता हूं?
कोड में नीचे दिखाया गया है, यह कैसे काम करता है और लाइन
q = "world";
में एक त्रुटि नहीं दे सकता है?#include <iostream> using namespace std; int main() { char *p = "Hello"; char* &q = p; cout <<p <<' '<<q <<"\n"; q = "World"; //Why is there no error on this line cout <<p <<' '<<q <<"\n"; }
कैसे एक संदर्भ क्ष कुछ और करने के लिए इसे पुनः शुरू किया जा सकता है?
स्ट्रिंग शाब्दिक,
p = "Hello"
, निरंतर या केवल पढ़ने योग्य स्थान नहीं है? तो अगर हम करते हैं,q = "World";
p
में स्ट्रिंग जो निरंतर माना जाता है बदला जा नहीं होगा?
मैं, के बारे में सी ++ संदर्भ प्रकार चर पढ़ा है के रूप में वे इसे पुनः शुरू नहीं किया जा सकता या पुन: असाइन बाद से वे लगातार संकेत के रूप में जमा हो जाती है 'आंतरिक'। तो एक कंपाइलर एक त्रुटि देगा।
लेकिन वास्तव में एक संदर्भ चर को फिर से सौंप दिया जा सकता है?
int i; int &j = i; int k; j = k; //This should be fine, but how we reassign to something else to make compiler flag an error?
मैं इस संदर्भ को पकड़ने की कोशिश कर रहा हूं, और इसमें शायद कुछ महत्वपूर्ण चीजें संबंधित हैं, इसलिए ये प्रश्न।
तो इसे साफ़ करने के लिए कोई भी पॉइंटर्स उपयोगी होगा।
निश्चित रूप से, मेरा क्यूएनएस था और यह कोड किसी अन्य चीज़ के संदर्भ को फिर से सौंपेगा। (जिसे तकनीकी रूप से अनुमति नहीं है) मैंने ओपी में उल्लेख किया है कि j = k; ठीक है क्योंकि मुझे पता था कि यह 'रेफरी' के मूल्य को बदलता है। – goldenmean
कोई कानूनी कोड नहीं है जो एक संदर्भ को फिर से सौंपेगा। – john