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

C++ में सही स्टैक और हीप उपयोग

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

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

उदाहरण

int main() {
    int a; // स्टैक पर मेमोरी आवंटित होती है
    int *ptr = new int[7]; // 7 इंटीजर्स के लिए हीप पर मेमोरी आवंटित होती है
}

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

  1. C++ में द्विपद हीप का मेमोरी प्रतिनिधित्व C++ में द्विपद हीप का मेमोरी प्रतिनिधित्व

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

  1. C++ STL में स्टैक (3.5) C++ STL में स्टैक (3.5)

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

  1. C++ में बाइनोमियल हीप C++ में बाइनोमियल हीप

    बाइनोमियल हीप को बाइनरी हीप के विस्तार के रूप में परिभाषित किया गया है जो बाइनरी हीप द्वारा प्रदान किए गए अन्य ऑपरेशन्स के साथ तेज़ मर्ज या यूनियन ऑपरेशन प्रदान करता है।एक बाइनोमियल हीप को बाइनोमियल ट्रीज़ के संग्रह के रूप में माना जाता है।बाइनोमियल ट्री क्या है?k क्रम का एक बाइनोमियल ट्री k-1 क्रम