मैं व्यक्तिगत रूप से उदाहरण प्रारंभकर्ताओं की तरह हूं - मैं उन्हें संग्रह जैसे चीजों को डिफ़ॉल्ट मान निर्दिष्ट करने के लिए उपयोग करता हूं ताकि रचनाकारों को लिखते समय मुझे उन्हें हर बार एक ही डिफ़ॉल्ट मान निर्दिष्ट करने की आवश्यकता नहीं है। यह मेरे लिए काफी सुरुचिपूर्ण लगता है - परेशान एनपीई के पॉपिंग अप से बचाता है और डुप्लिकेट कोड से बचाता है। एक निजी विधि उतनी अच्छी नहीं लगती है क्योंकि ए) यह अंतिम फ़ील्ड को मान असाइन नहीं कर सकता है, बी) इसे कोड में कहीं और चलाया जा सकता है और सी) विधि को प्रत्येक कन्स्ट्रक्टर की शुरुआत में स्पष्ट रूप से बुलाया जाना चाहिए।उदाहरण प्रारंभकर्ताओं को बुरी शैली माना जाता है?
हालांकि, मैंने जिन लोगों के साथ बात की है, उनके साथ फ्लिप पक्ष यह है कि वे भ्रमित हैं, कुछ लोग कोड पढ़ते हैं, वे समझ नहीं सकते हैं कि वे क्या करते हैं या जब उन्हें बुलाया जाता है और इस तरह वे हल करने से अधिक समस्याएं पैदा कर सकते हैं।
क्या इन प्रारंभकर्ताओं का उचित उपयोग प्रोत्साहित किया जाना चाहिए या इससे बचा जाना चाहिए? या यह एक "अपने स्वयं के" मामले में है?
कोई भी भाषा सुविधा "अच्छी" या "खराब" नहीं है - सब कुछ ऐसी स्थिति है जिसमें यह वास्तव में चमकता है। मुझे लगता है कि एक बेहतर सवाल यह है कि "किस परिस्थितियों में उदाहरण प्रारंभकर्ताओं से बचा जा सकता है या इस्तेमाल किया जा सकता है?" – templatetypedef
आप लगभग हमेशा संग्रह प्रकारों के फ़ील्ड को 'अंतिम' होना चाहते हैं, जो उन लोगों के लिए एनपीई समस्या को हल करते हैं। –