डेव सी के भीतर 4200000 डबल्स जैसे विशाल आकार की सरणी घोषित करने का प्रयास करते समय, उपयोगकर्ता हो सकते हैं अप्रत्याशित मुद्दों का सामना करें। हालाँकि कंपाइलर त्रुटियों को चिह्नित नहीं कर सकता है, प्रोग्राम निष्पादन पर अचानक समाप्त हो जाता है। इसके अलावा, यह दुविधा केवल बड़े आकार के सरणियों के साथ उत्पन्न होती है, जबकि छोटे आयाम वाले सरणियाँ त्रुटिहीन रूप से कार्य करती हैं। कुशल गणना के लिए. यह एक दुविधा पैदा करता है: क्या इस सरणी को स्टैक पर इस तरह से घोषित किया जा सकता है कि उपरोक्त बाधाओं को दूर किया जा सके?
उत्तर, दुर्भाग्य से, नहीं है। जबकि स्टैक पर सरणी घोषित करना एक व्यवहार्य विकल्प नहीं है, एक समाधान मौजूद है जो स्टैक और हीप दोनों से तत्वों को जोड़ता है:
double *n = new Double[4200000];
double *n = new double[4200000];
डबल एन[500];
double n[500];
std::vector
std::vectorsomeElements(4200000); someElements[234];
गतिशील रूप से मेमोरी आवंटित करने की वैकल्पिक विधि के साथ:
डबल *एन = नया डबल[4200000];
double *n = new double[4200000];
delete[] n;
delete[] n;
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3