(जो कार्यक्रम के दौरान इसका मूल्य बदल सकता है)
या वर्गों और वस्तुओं से कड़ाई से 'कुछ का उदाहरण' है? यदि हां, तो C ++ की बात आने पर आप 'वैरिएबल' की अवधारणा को कैसे परिभाषित करेंगे?
(जो कार्यक्रम के दौरान इसका मूल्य बदल सकता है)
या वर्गों और वस्तुओं से कड़ाई से 'कुछ का उदाहरण' है? यदि हां, तो C ++ की बात आने पर आप 'वैरिएबल' की अवधारणा को कैसे परिभाषित करेंगे?
जवाबों:
जहां तक मुझे पता है, यह विजुअल स्टूडियो के मैनुअल से उस प्रकार के आदिम प्रकार के उदाहरणों को देखने के लिए सही है (उदाहरण के लिए "सी ++ टाइप सिस्टम" देखें , लेकिन मैं अभी भी एक अन्य स्रोत की तलाश कर रहा हूं), हालांकि मेरा मानना है कि यह शब्द है ज्यादातर वस्तुओं पर चर्चा करते समय उपयोग किया जाता है। एक ऑब्जेक्ट एक वर्ग C का एक उदाहरण है अगर इसे एक निर्माणकर्ता से वर्ग C या उसके किसी उपवर्ग में परिभाषित किया गया था।
C ++ में एक चर एक रनटाइम अवधारणा नहीं है। यह आपके संकलक के अंदर चर के नाम और एक सार (यदि नहीं तो कांस्टेबल) स्थान के बीच एक बाध्यकारी बंधन के रूप में मौजूद है। एक बार एक कार्यक्रम संकलित करने के बाद, चर अब नहीं हैं। इसके बजाय, डेटा को रजिस्टरों, मेमोरी आदि में पढ़ा और लिखा जाता है।
int
। C ++ मानक प्राइमरी प्रकार और गैर-आदिम प्रकारों के बीच अंतर नहीं करता है जब चर घोषणाएं करते हैं। तो T t;
प्रकार की एक वस्तु की घोषणा करता है T
, चाहे कोई भी प्रकार T
हो।
या वर्गों और वस्तुओं से कड़ाई से 'कुछ का उदाहरण' है? यदि हां, तो C ++ की बात आने पर आप 'वैरिएबल' की अवधारणा को कैसे परिभाषित करेंगे?
सी ++ के लिए इसे यथासंभव संक्षिप्त रूप से रखने के लिए
केवल स्पष्ट करने के लिए:
malloc()
'एड' के बारे में बात करते हैं , लेकिन असिंचित बफर: यह एक स्मृति क्षेत्र है जो अभी तक एक वस्तु नहीं है। इसी तरह, एक वस्तु जो स्पष्ट रूप से नष्ट हो गई है: यह एक स्मृति क्षेत्र है जो अब कोई वस्तु नहीं है।
खैर, "सही" का क्या अर्थ है?
अगर हम इसके बारे में अति-सख्त होना चाहते हैं, तो हमें इसमें अंतर करने की आवश्यकता है:
तो फिर एक चर से किया जा रहा एक अभिव्यक्ति-होगा है एक प्रकार है। इसका मूल्य — वह वस्तु जो इसे संदर्भित करता है - कुछ वर्ग का उदाहरण होगा। और ध्यान दें कि चर का प्रकार और वस्तु का वर्ग आम तौर पर एक ही चीज नहीं होते हैं - चर का स्थिर प्रकार वस्तुओं के रनटाइम कक्षाओं पर एक ऊपरी सीमा रखता है , ताकि वर्गों को उस वर्ग का एक उपप्रकार होना चाहिए जो प्रकार से मेल खाती है।
क्या आप हर समय उस बड़े कौर को दोहराना चाहते हैं? मत्स्यावरोध नहीं। हम कितनी सख्ती से बात करना चाहते हैं, यह संदर्भ पर निर्भर करता है। इसलिए अक्सर यह कहने में कोई दिक्कत नहीं है कि "चर इस प्रकार का एक उदाहरण है।" वहाँ वास्तव में क्या हो रहा है कि हम चर का उपयोग कर रहे हैं और ऑब्जेक्ट को संदर्भित करने के लिए और इसके रनटाइम क्लास के एक सुपरक्लास को गुमनाम रूप से टाइप करते हैं।
जब तक आप अपना पूरा जीवन पवित्रता और परिष्कार में बिताना चाहते हैं ... हाँ।
हर बार जब आप कुछ ऐसा रखते हैं, जो विशिष्ट रूप से पहचाने जाने योग्य अन्य चीजों को बनाने के लिए एक उपयोग की पहचान करता है जो आप कर रहे हैं।
उन तात्कालिकता में से कुछ में अधिक सटीक नाम हो सकते हैं, लेकिन सामान्य तौर पर यह काम करता है।
कई लोग कक्षाओं के उदाहरणों के लिए "उदाहरण" आरक्षित करते हैं। यदि आप ऐसा करते हैं तो C ++ में, एक वैरिएबल एक वर्ग का उदाहरण हो सकता है, उदाहरण के लिए एक संदर्भ, उदाहरण के लिए एक संकेतक, या एक आदिम प्रकार (आप उस संदर्भ में कक्षाओं के रूप में संरचना की गणना कर सकते हैं, वे लगभग हैं पूरी तरह से वही)। जावा या ऑब्जेक्टिव-सी में, चर कभी उदाहरण नहीं होंगे, लेकिन संभवतः उदाहरणों के संदर्भ भी होंगे।
भूल गए: थोड़े समय के लिए, C ++ पॉइंटर कच्ची मेमोरी के लिए एक पॉइंटर हो सकता है, उदाहरण के लिए, कंस्ट्रक्टर को निष्पादित करने से पहले "यह"। आप संभवतः इस बिंदु पर अभी तक एक उदाहरण नहीं कहेंगे।