scope of vector element in c++ stl -


इस सवाल का पहले से ही एक उत्तर है: < Follwoing प्रोग्राम खंड के लिए / p>

  • 20 उत्तरों

  std :: vector & lt; int * & gt; v; {Int a = 5000; Int * aa = & amp; a; vv.push_back (आ); अदालत के & lt; & lt; "\ n" & lt; & lt; * (V [0]); } Cout & lt; & lt; "\ n" & lt; & lt; * (वी [0]);  

आउटपुट:

  5000 5000  

मेरा संदेह है कि यदि एक वेक्टर को सूचक डालें, वेक्टर पता होना चाहिए और इसे स्थानीय ब्लॉक के बाहर से निकालना चाहिए, क्योंकि इसे गेटम प्रिंट नहीं करना चाहिए क्योंकि "ए" का स्थानीय क्षेत्र है यहां पर उस सूचक के थकने का स्थानीय क्षेत्र अभी भी गुंजाइश के बाहर से सुलभ है। खूब मदद धन्यवाद

वेक्टर सूचक की एक प्रति पकड़ लेता है, यह इसका उपयोग करने के लिए पूरी तरह से मान्य है।

समस्या उस पते के साथ जहां पॉइंटर पॉइंट्स : आप आउट-ऑफ-स्कोप स्टैक मेमोरी तक पहुंच रहे हैं जो पुनर्नवीनीकरण (यानी उपयोग किया गया ) हो सकता था। आपके पास इस पहुंच पर कोई गारंटी नहीं है और इस तरह इन्हें लागू करना है।


Comments

Popular posts from this blog

python - Strange behavior using PyQt4's 'pyqtSlot' decorator before another decorator -

c# - UnhandledExceptionMode.ThrowException for AppDomain.UnhandledException -

c# - Process.Kill() returns access denied -