2016-02-12 5 views
5

सी ++ 11 के लिए धन्यवाद हमें स्कॉप्ड और मजबूत टाइप किए गए एनम्स मिल गए हैं।
लेकिन क्या यह भी विस्तार योग्य होने की कोई योजना है?विस्तारणीय एनम्स के लिए योजना

कुछ इस तरह:

enum class OneTwoThree : char {one=1, two=2, three=3}; 
enum class Four : char {four=4} extends OneTwoThree; 
+0

जहाँ तक मुझे पता है, नहीं। – Vitaliy

+1

यदि मुझे गलत नहीं लगता है, तो 'एनम क्लास' घोषणा सिर्फ एनम मूल्य/पूर्णांक/आदि के बीच अंतर्निहित रूपांतरणों को रोकने के लिए कहती है, यह वास्तव में enum को पूर्ण प्रकार का प्रतिनिधित्व करने का कारण नहीं बनाता है क्योंकि यह जावा/पायथन/आदि। उल्लेख नहीं है कि subclassing के लिए वाक्यविन्यास पहले से ही अंतर्निहित डेटा प्रकार को इंगित करने के लिए उपयोग किया जाता है और 'विस्तार' सी ++ कीवर्ड नहीं है, और सीआई ++ मानक समिति आईआईआरसी नए कीवर्ड जोड़ने को पसंद नहीं करता है। यदि आपको वास्तव में सी ++ में एक उप-वर्गीकृत समेकित प्रकार की आवश्यकता है, तो आप भिन्नता वाले तर्कों के साथ एक टेम्पलेट का उपयोग करना बेहतर कर सकते हैं, जो आपको सभी संकलन-समय की अच्छीता प्रदान करेगा – JAB

+4

@JAB: _Complete type_ का C++ में एक विशिष्ट अर्थ है, और * * प्रत्येक ** 'enum' प्रकार एक _complete type_ है। 'शून्य 'एक प्रकार का उदाहरण है जो पूर्ण नहीं है। – MSalters

उत्तर

3

यह इतना नहीं दिखता है।

सी ++ में कुछ भी कागज के बिना होता है। सुविधाजनक रूप से, आप सभी कागजात ऑनलाइन here देख सकते हैं, और official forums पर भाषा विकास के लिए अध्ययन समूहों में अधिक अनौपचारिक चर्चा के साथ-साथ "भविष्य प्रस्ताव" समूह शायद वह है जिसे आप गणनाओं में बदलाव के लिए रुचि रखते हैं) । - इस चिंताओं विशेषता विनिर्देशक गणन या नाम स्थान घोषणाओं को लागू करने से

  • (N4266) Attributes for namespaces and enumerators:

    कागजात के लिए, कागजात के लिए खिताब के सरसरी खोज वापस 2011 तक निम्नलिखित विषय का पता चलता है।

  • (N4113) Reflection Type Traits For Classes, Unions and Enumerations - यह गणना सूची आकार के संकलन-समय निरीक्षण के साथ-साथ गणना वस्तुओं के नाम और मूल्यों के लिए प्रकार के गुणों की एक श्रृंखला का प्रस्ताव करता है।
  • (N3815) Enumerator List Property Queries - यह प्रभावी रूप से एन 4113 के समान कार्यक्षमता के लिए एक और प्रस्ताव है।
  • (P0138R0) Construction Rules for enum class Values - यह मजबूत "नामित पूर्णांक" प्रकार बनाने से संबंधित रूपांतरणों के नियमों पर चर्चा करता है।

इनमें से कोई भी कागजात मौजूदा गणनाओं में मूल्य जोड़ने के लिए तंत्र शामिल नहीं करता है। इसी प्रकार, भविष्य प्रस्ताव समूह में "enum" के लिए एक सरसरी खोज विषयों की गुच्छा पैदा करती है, जिनमें से कोई भी गणना की प्रारंभिक परिभाषा के अलावा किसी अन्य से गणना के लिए नए मान जोड़ने के बारे में प्रतीत नहीं होता है।


पुस्तकालय या भाषा chagnes के बिना इस तरह की कार्यक्षमता को लागू करने के लिए कई प्रयास किए गए हैं; questions exploring the subject already exist on StackOverflow, और आपके लिए उपयोगी पठन हो सकता है।

+0

आपके व्यापक उत्तर के लिए धन्यवाद। – ttuna

संबंधित मुद्दे