ठीक है, तो यहां सवाल है ... नया कीवर्ड अप्रचलित है?क्या नई चीजें अप्रचलित हैं?
सी # (और जावा, मेरा मानना है) में विचार करें कि प्रकारों के लिए सख्त नियम हैं। कक्षा संदर्भ प्रकार हैं और केवल ढेर पर ही बनाई जा सकती हैं। पीओडी प्रकार ढेर पर बनाए जाते हैं; यदि आप उन्हें ढेर पर आवंटित करना चाहते हैं तो आपको उन्हें ऑब्जेक्ट प्रकार में बॉक्स करना होगा। सी # में, structs
अपवाद हैं, वे ढेर या ढेर पर बनाया जा सकता है।
इन नियमों को देखते हुए, क्या यह समझ में आता है कि हमें अभी भी नए कीवर्ड का उपयोग करना है? क्या इस भाषा के आधार पर उचित आवंटन रणनीति का उपयोग करने के लिए भाषा का अर्थ नहीं होगा?
उदाहरण के लिए, हम वर्तमान में लिखने के लिए है:
SomeClassType x = new SomeClassType();
SomeClassType x = SomeClassType();
या बस
SomeClassType x;
संकलक के बजाय
होता है, के आधार पर उस प्रकार बनाया जा रहा एक संदर्भ प्रकार है, आगे बढ़ें और ढेर पर एक्स के लिए स्मृति आवंटित करें।
यह रूबी, PHP, et al जैसी अन्य भाषाओं पर लागू होता है। सी/सी ++ प्रोग्रामर को ऑब्जेक्ट्स कहां बनाए जाते हैं, इस पर अधिक नियंत्रण की अनुमति देता है, इसलिए नए कीवर्ड की आवश्यकता के लिए इसका अच्छा कारण है।
new
क्या 60 और हमारे सी आधारित विरासत से सिर्फ एक होल्डओवर है?
और यह समुदाय विकी नहीं है क्योंकि ...? –
मुझे नहीं पता। क्या आपको लगता है कि यह होना चाहिए? –
यह एक बिल्कुल मान्य सवाल है। और एक अच्छा भी,। सीडब्ल्यू के लिए कोई ज़रूरत नहीं है। – bsneeze