2010-03-01 11 views
16

सी # में, मूल्य प्रकार (उदाहरण: int, float, आदि) ढेर पर संग्रहीत हैं। विधि पैरामीटर भी ढेर पर संग्रहीत किया जा सकता है। हालांकि, बाकी सब कुछ ढेर पर संग्रहीत किया जाता है। इसमें सूचियां, ऑब्जेक्ट इत्यादि शामिल हैंसीपीथन - आंतरिक रूप से, ढेर और ढेर पर क्या संग्रहीत किया जाता है?

मैं सोच रहा था, क्या सीपीथन आंतरिक रूप से एक ही काम करता है? यह ढेर पर क्या स्टोर करता है, और यह ढेर पर क्या लगाता है?

+0

मुझे लगता है कि आपका मतलब है * "अधिकांश चीजें, हालांकि, ** ढेर ** पर संग्रहीत है।" * –

+8

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

+0

@ ब्लूराजा - धन्यवाद, अच्छी पकड़। –

उत्तर

20

सीपीथॉन कार्यान्वयन में सभी पायथन वस्तुओं ढेर पर जाते हैं। आप विस्तार से पढ़ सकते हैं कैसे पायथन के स्मृति प्रबंधन दस्तावेज में काम करता है here: अजगर में

मेमोरी मैनेजमेंट एक निजी ढेर सभी पायथन वस्तुओं और डेटा संरचनाओं युक्त शामिल है। इस निजी ढेर का प्रबंधन पाइथन मेमोरी मैनेजर द्वारा आंतरिक रूप से सुनिश्चित किया जाता है। पायथन मेमोरी मैनेजर के पास विभिन्न घटक हैं जो विभिन्न गतिशील स्टोरेज प्रबंधन पहलुओं, जैसे शेयरिंग, सेगमेंटेशन, प्रीलोकेशन या कैशिंग के साथ सौदा करते हैं।

ध्यान दें कि पायथन स्वयं ही एक भाषा है, और इस बारे में कुछ भी नहीं कहता है कि स्मृति प्रबंधन जैसे आंतरिक कैसे काम करना चाहिए; यह कार्यान्वयन करने वालों के लिए एक विवरण बाकी है।

11

पायथन के क्रम केवल वस्तुओं (जो सभी ढेर में रहते हैं) के लिए संदर्भ में संबंधित है: क्या पायथन के ढेर पर चला जाता है (जैसा कि ऑपरेंड और उसके बाईटकोड आपरेशन के परिणामों) हमेशा संदर्भ (मूल्यों के लिए कि कहीं और रहते हैं) कर रहे हैं।

+3

क्या आप 'पायथन के ढेर पर क्या चलते हैं' पर अधिक समझाएंगे या कुछ संदर्भ प्रदान करेंगे? – laike9m

संबंधित मुद्दे