Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में उचित ढेर और ढेर उपयोग?

ढेर - फंक्शन के अंदर घोषित सभी वेरिएबल स्टैक से मेमोरी लेंगे। तो, फ़ंक्शन के अंदर कोई भी स्थानीय चर स्टैक पर रहता है।

ढेर - यह प्रोग्राम की अप्रयुक्त मेमोरी है और प्रोग्राम के चलने पर मेमोरी को गतिशील रूप से आवंटित करने के लिए इसका उपयोग किया जा सकता है। इसलिए यदि हम चाहते हैं कि कोई चीज़ उस फ़ंक्शन से अधिक समय तक जीवित रहे जिसने इसे घोषित किया था, तो हमें इसे ढेर पर आवंटित करना होगा।

उदाहरण

int main() {
   int a; //get memory allocated on stack.
   int *ptr=new int[7]; //memory for 7 integers allocated on heap.
}

हीप मेमोरी में मुख्य समस्या विखंडन है जबकि मेमोरी की कमी की समस्या स्टैक में अधिक देखी जाती है। मेमोरी का आकार हीप में बदला जा सकता है जिसे स्टैक में नहीं बदला जा सकता।


  1. C++ . में द्विपद हीप का स्मृति निरूपण

    द्विपद वृक्ष क्या है? द्विपद वृक्ष एक क्रमबद्ध वृक्ष डेटा संरचना है, मान लीजिए, B0 में एक एकल नोड होता है जबकि एक द्विपद वृक्ष को Bk के रूप में दर्शाया जाता है जिसमें दो द्विपद वृक्ष होते हैं अर्थात Bk-1 जो ​​एक साथ जुड़े होते हैं। एक द्विपद वृक्ष की जड़ दूसरे द्विपद वृक्ष की जड़ की सबसे बाईं संतान

  1. सी ++ एसटीएल में ढेर (3.5)

    C++ STL में, स्टैक का उपयोग कंटेनर के रूप में किया जाता है जिसे LIFO संरचना के रूप में कार्यान्वित किया जाता है। LIFO का मतलब लास्ट इन फर्स्ट आउट। स्टैक पुस्तकों के ढेर के रूप में देख सकता है जिसमें पुस्तकों को एक के ऊपर एक व्यवस्थित किया जाता है और अंतिम डाली गई पुस्तक सबसे पहले हटाई जाएगी, इसलिए इ

  1. सी ++ में द्विपद ढेर?

    द्विपद हीप को बाइनरी हीप के विस्तार के रूप में परिभाषित किया गया है जो बाइनरी हीप द्वारा प्रदान किए गए अन्य कार्यों के साथ तेजी से विलय या संघ संचालन प्रदान करता है। द्विपद ढेर को द्विपद वृक्षों के संग्रह के रूप में माना जाता है। द्विपद वृक्ष क्या है? क्रम k-1 के दो द्विपद वृक्षों को लेकर और एक क