मैं एक सी ++ प्रोग्राम में कुछ मेमोरी सेविंग हासिल करने की कोशिश कर रहा हूं और मैं जानना चाहता हूं कि क्या मैं चर के चरम के रूप में ब्लॉक का उपयोग कर सकता हूं (जैसे पर्ल में)। के मैं एक विशाल उद्देश्य यह है कि कुछ संगणना निष्पादन करता है और परिणाम देता है मान लीजिए, करता है यह करने के लिए समझ में आता है:क्या मैं सी ++ में चर के दायरे को प्रबंधित करने के लिए ब्लॉक का उपयोग कर सकता हूं?
InputType input;
ResultType result;
{
// Block of code
MyHugeObject mho;
result = mho.superHeavyProcessing();
}
/*
My other code ...
*/
मैं उम्मीद कर सकता हूँ जब ब्लॉक बाहर निकलने वस्तु नष्ट हो?
कड़ाई से बोलते हुए, विनाशक को कॉल करना ऑब्जेक्ट स्टोरेज के लिए उपयोग की जाने वाली स्मृति को मुक्त करने जैसा नहीं है। – Constantin
मुझे लगता है कि प्रश्न में * विशाल * शब्द का मानना सुरक्षित है कि ऑब्जेक्ट ने ढेर पर स्मृति के बड़े हिस्से को आवंटित किया है और इसे मुक्त करना चाहता है (उदाहरण के लिए एक वेक्टर)। –
मुझे खेद है, लेकिन मुझे लगता है कि MyHugeObject को ढेर पर आवंटित किया गया है, और जब तक एक स्पष्ट मॉलोक नहीं किया जाता है तब तक ढेर पर नहीं। कृपया मुझे सुधारें अगर मैं गलत हूं। – 0fnt