विभिन्न कंपेलरों (जीसीसी, विज़ुअल सी और अन्य?) के बीच हमेशा एक enum का आकार है। यही है, एक विशिष्ट enum का sizeof() प्रत्येक compiler के साथ समान मूल्य देता है जो सी/सी ++ मानकों का पालन करता है?विभिन्न कंपाइलर्स के बाइट्स में enums का आकार
उत्तर
सं
दोनों सी और सी ++ में एक enum एक आकार ऐसा है कि सभी मूल्यों व्यक्त किया जा सकता है और एक पूर्णांक प्रकार के साथ संगत हो जाएगा। विभिन्न कंपाइलर प्रकार चुनने के लिए अलग-अलग एल्गोरिदम का उपयोग कर सकते हैं (यदि यह किसी अन्य मानक द्वारा स्पष्ट रूप से परिभाषित एबीआई द्वारा निर्दिष्ट नहीं है)।
जरूरी नहीं: सी संकलन द्वारा गणना मूल्यों के प्रकार को चुनने की अनुमति देता है, जैसा कि आपके उत्तर के अनुसार, सी ++ करता है। [सी मानक] में अनुभाग 6.7.2.2/4 देखें (http://www.open-std.org/JTC1/sc22/wg14/www/docs/n1256.pdf)। – pmg
इसके अतिरिक्त, सी ++ 0x में आप नए * एनम कक्षा * का उपयोग पूर्णांक प्रकार निर्दिष्ट करने के लिए कर सकते हैं जिसका उपयोग गणना मानों को वापस करने के लिए किया जाएगा। –
@pmg, धन्यवाद। मुझे नहीं पता कि मुझे यह कहां मिला। मैंने जांच की कि यह पहले ही सी 0 9 0 में मामला था। – AProgrammer
"प्रत्येक प्रगणित प्रकार चार के साथ संगत होगा, एक हस्ताक्षरित पूर्णांक प्रकार, या एक अहस्ताक्षरित पूर्णांक प्रकार (सी ++ 11 एक नई वाक्य रचना के साथ अंतर्निहित प्रकार निर्दिष्ट कर सकते)। प्रकार की पसंद है कार्यान्वयन-परिभाषित) लेकिन गणना के सभी सदस्यों के मूल्यों का प्रतिनिधित्व करने में सक्षम होंगे। "
"... एक कार्यान्वयन किस पूर्णांक प्रकार की पसंद में देरी हो सकती है जब तक कि सभी गणना स्थिरांक नहीं देखे जाते।"
आईएसओ/आईईसी 9899: 1999 (ई) p.105
तो हम केवल sizeof (enum) के लिए ऊपरी सीमा नहीं है। अधिकांश प्रणालियों पर मेरे आकार (enum) = 4 था, लेकिन एसटीएम कंपाइलर ने enum
संपादित करें: ऐसा लगता है कि आप अपने enum के मान को सेट कर सकते हैं यह सुनिश्चित करने के लिए अधिकतम int कि कंपाइलर enum आकार के रूप में पूर्णांक चुनता है।
- 1. विभिन्न सी ++ कंपाइलर्स
- 2. विभिन्न कंपाइलर्स में शुद्ध/कॉन्स फ़ंक्शन विशेषता
- 3. बाइट्स में svn संशोधन आकार
- 4. विभिन्न आकार के सदस्य के संघ का मेमोरी लेआउट?
- 5. cmake में विभिन्न कंपाइलर्स के लिए विभिन्न कंपाइलर विकल्पों को कैसे लागू करें?
- 6. क्या जावा कंपाइलर्स विभिन्न स्थानों के लिए अनुवादित हैं?
- 7. कंपाइलर्स
- 8. विभिन्न विंडोज कंपाइलर्स पर pthreads-win32 की पोर्टेबिलिटी
- 9. बाइट्स में स्ट्रिंग के आकार को कैसे जानें?
- 10. क्या विभिन्न कंपाइलर्स 'सी ++ आभासी विरासत कार्यान्वयन असंगत हैं?
- 11. valgrind | आकार 8 का अमान्य पढ़ने | पता 0x7a41270 आकार 4 के ब्लॉक के अंदर 0 बाइट्स
- 12. कंपाइलर्स में अर्थपूर्ण विश्लेषण
- 13. जावा कंपाइलर्स में प्लगिंग
- 14. बाइट्स
- 15. टेक्स्ट आकार और विभिन्न एंड्रॉइड स्क्रीन आकार
- 16. मेकफ़ाइल को विभिन्न कंपाइलर्स का उपयोग करने के लिए निर्देश कैसे करें
- 17. Enums का उपयोग GSON
- 18. 134217728 बाइट्स की स्वीकृत स्मृति आकार
- 19. बाइट्स
- 20. enums
- 21. एक सूचकांक या प्राथमिक कुंजी का कुल आकार 900 बाइट्स
- 22. जीसीसी संकलित बाइनरी w/विभिन्न आकार?
- 23. क्यों आकार (13.33) 8 बाइट्स है?
- 24. विभिन्न आर्किटेक्चर पर सी में int का आकार
- 25. सीएसएस और मॉनिटर के विभिन्न आकार?
- 26. विभिन्न स्क्रीन संकल्पों के लिए एचटीएमएल वेबसाइट का आकार बदलें
- 27. प्रक्रिया मेमोरी आकार - विभिन्न काउंटर
- 28. सी में enums का उपयोग कैसे करें ++
- 29. सी में टाइपएफ़ enums?
- 30. ओरेकल में enums का उपयोग कैसे करें?
और हस्ताक्षर भी भिन्न हो सकता है। –