चर वास्तव में "निर्मित" या "नष्ट" नहीं हैं। वे प्रोग्रामिंग भाषा के अमूर्त स्तर पर अवधारणाएं हैं। कंपाइलर को चर और मेमोरी पतों के बीच एक से एक मैपिंग की आवश्यकता नहीं है। व्यावहारिक रूप से, अधिकांश समय, स्थानीय चर के लिए स्टैक स्पेस फ़ंक्शन की शुरुआत में एक बार आवंटित किया जाता है, इसलिए यह प्रदर्शन में कोई फर्क नहीं पड़ता है।
ध्यान दें कि, सी ++, सी, जो निर्माताओं के लिए एक धारणा नहीं है के विपरीत,, वस्तु निर्माण और विनाश का समर्थन करता है, इसलिए यदि आप एक वर्ग प्रकार का एक चर निम्नलिखित की तरह, पाश के लिए एक में परिभाषित करने के लिए थे
class MyClass {
public: MyClass() { cout << "hello world" << endl; }
};
//...
for (int i = 0; i < 10; ++i) {
MyClass m;
}
आप हर बार अपने निर्माता को कॉल करते हैं, प्रभावी रूप से "हैलो वर्ल्ड" को दस बार प्रिंट करते हैं। यह सी घोषणाओं से बहुत अलग है और इसके साथ भ्रमित नहीं होना चाहिए।
स्रोत
2012-01-04 23:47:59
धन्यवाद, मेरा मतलब है कि प्रत्येक पुनरावृत्ति पर स्मृति को फिर से आवंटित किया गया है। मैंने सवाल बदल दिया है। –