"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > स्टैटिक डेटा सदस्यों को C ++ में क्लास घोषणा के बाहर क्यों परिभाषित किया जाना चाहिए?

स्टैटिक डेटा सदस्यों को C ++ में क्लास घोषणा के बाहर क्यों परिभाषित किया जाना चाहिए?

2025-03-23 ​​पर पोस्ट किया गया
ब्राउज़ करें:625

] यह इस सवाल को उठाता है कि यह आवश्यक क्यों है और मेमोरी आवंटन के बारे में योजनाबद्ध निहितार्थ क्या हैं। यदि हेडर फ़ाइल में स्थिर ऑब्जेक्ट की घोषणा एक परिभाषा थी, तो यह अनुवाद इकाइयों में कई परिभाषाओं में परिणाम होगा, नियम का उल्लंघन करना।

Why Must Static Data Members Be Defined Outside the Class Declaration in C  ?
इससे बचने के लिए, हेडर फ़ाइल में घोषणा एक परिभाषा नहीं है। इसके बजाय, कक्षा की परिभाषा के बाहर एक एकल परिभाषा प्रदान की जानी चाहिए, आमतौर पर प्राथमिक अनुवाद इकाई की स्रोत फ़ाइल में। यह सुनिश्चित करता है कि स्थैतिक ऑब्जेक्ट को केवल एक बार पूरे प्रोग्राम में परिभाषित किया गया है, एक परिभाषा नियम का पालन करते हुए।

मेमोरी आवंटन के संदर्भ में, स्थिर डेटा सदस्यों को एक विशेष खंड में आवंटित किया गया है जिसे स्टैटिक डेटा सेगमेंट के रूप में जाना जाता है। कार्यक्रम स्टार्टअप के दौरान उन्हें केवल एक बार आरंभ किया जाता है, और पूरे कार्यक्रम के जीवनकाल में अपने मूल्यों को बनाए रखा जाता है। यह गैर-स्थिर डेटा सदस्यों के विपरीत है, जो कि ऑब्जेक्ट को नष्ट होने पर किसी ऑब्जेक्ट के निर्माण और नष्ट होने पर स्टैक या हीप में आवंटित किए जाते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3