मेरा कंपाइलर इसे 199711L तक फैलाता है। इसका क्या मतलब है? मैंने पढ़ा है कि __cplusplus> 199711L सी ++ 11 का प्रतीक है। इस मैक्रो के संभावित विस्तार क्या हैं और यह क्या दर्शाता है?विभिन्न कंपाइलरों में __cplusplus निर्देश कैसे परिभाषित किया गया है?
उत्तर
199711L वर्ष = 1997 खड़ा है, महीना = 11 (यानी, 1997 के नवंबर) - तिथि जब समिति मानक को मंजूरी दे दी है कि आईएसओ के बाकी जल्दी 1998
में मंजूरी दे दी 2003 मानक, कुछ पर्याप्त बदलाव हुए थे कि समिति (जाहिर है) ने उस मूल्य को अपरिवर्तित छोड़ने का फैसला किया था।
2011 मानक के लिए, यह 201103L, के रूप में परिभाषित किया जाना आवश्यक है (फिर से, वर्ष = 2011, महीने = 03) फिर से जिसका अर्थ है कि समिति मानक के रूप में 2014 के लिए 2011
के मार्च में अंतिम रूप दिया अनुमोदित मानक, इसे 201402 एल के रूप में परिभाषित करने की आवश्यकता है, जैसा उपरोक्त (फरवरी 2014) जैसा ही व्याख्या किया गया है।
2017 मानक के लिए, इसे 201703 एल (मार्च 2017) के रूप में परिभाषित करने की आवश्यकता है।
मूल मानक को मंजूरी मिलने से पहले, कुछ कंपेलरों ने सामान्यतः 0
(या केवल #define __cplusplus
जैसी खाली परिभाषा) को परिभाषित करने के लिए परिभाषित करने के लिए परिभाषित किया है। जब उनके सख्त अनुरूपता के लिए पूछा गया, तो कई ने इसे 1
पर परिभाषित किया।
मैं लगभग उल्लेख करने के लिए भूल गया, लेकिन प्राचीन कंपाइलर्स के बारे में एक और बात यह है: __cplusplus
के बजाय c_plusplus
परिभाषित किए गए कुछ शुरुआती संस्करणों में से कुछ (और शायद इसे कॉपी करने वाले कुछ अन्य) परिभाषित किए गए हैं। मुझे याद नहीं है कि इसे किसी भी सार्थक मूल्य के लिए परिभाषित किया जा रहा है।
इसका मतलब है कि यह 1997 सी ++ मानक (वास्तव में के रूप में सी ++ '98 में जाना जाता है के साथ संगत है के रूप में वे भी यह पुष्टि करने के लिए समय लगा ..
- 1. Enum.values () परिभाषित किया गया है?
- 2. उद्देश्य-सी में @encode संकलक निर्देश लागू किया गया है?
- 3. एनएसएट्रिब्यूटेड स्ट्रिंग में एक पैराग्राफ कैसे परिभाषित किया गया है?
- 4. कोको में, आईडी प्रकार कैसे परिभाषित किया गया है?
- 5. glGenBuffers परिभाषित नहीं किया गया है?
- 6. फ़ंक्शन परिभाषित किया गया है लेकिन सी
- 7. क्या मैं = 0, ++ परिभाषित किया गया है?
- 8. आकार (बूल) परिभाषित किया गया है?
- 9. Magento UploaderJsObject परिभाषित नहीं किया गया है
- 10. DEBUG मैक्रो परिभाषित किया गया है?
- 11. ईजेएस आंशिक परिभाषित नहीं किया गया है '
- 12. sqlconnection को परिभाषित नहीं किया गया है
- 13. प्लॉट परिभाषित नहीं किया गया है
- 14. getActivity() जहां इसे परिभाषित किया गया है?
- 15. ऐस संपादक "परिभाषित परिभाषित नहीं किया गया है"
- 16. जीएनयू सी ++ मैक्रो __cplusplus मानक अनुरूप है?
- 17. आर में ऑब्जेक्ट (चर) परिभाषित किया गया है या नहीं?
- 18. समानांतर कोड के लिए स्केलेबिलिटी कैसे परिभाषित किया गया है?
- 19. कैसे जांचें कि django टेम्पलेट चर परिभाषित किया गया है?
- 20. टॉमकैट temp निर्देशिका स्थान कैसे परिभाषित किया गया है?
- 21. MATLAB: फ़ील्डनाम के आदेश को परिभाषित किया गया है?
- 22. $ अपवाद को "स्थानीय" में परिभाषित किया गया है
- 23. jQuery स्रोत कोड में jQuery.ajax कहां परिभाषित किया गया है?
- 24. टीएफएस 2012 में फ़िल्टर कहां परिभाषित किया गया है?
- 25. उल्का में "टेम्पलेट परिभाषित नहीं किया गया" क्या कारण है?
- 26. रुबी 1.9.2 में example_eval परिभाषित किया गया है?
- 27. नियंत्रक विभिन्न असेंबली से लोड नहीं किया गया है?
- 28. पायथन, नाम परिभाषित नहीं किया गया
- 29. socket.io - संदर्भ त्रुटि: io परिभाषित नहीं किया गया है
- 30. पायथन नाम त्रुटि: वैश्विक नाम 'NAME' परिभाषित नहीं किया गया है! (लेकिन यह परिभाषित किया गया है)
2003 एक "तकनीकी संशोधन", वास्तव में नहीं एक मानक था। यह सिर्फ शुरुआत की "टीआर 3" सामग्री जो कभी मानक का हिस्सा नहीं थी। –
@ माइकलजे: ["आईएसओ/आईईसी जेटीसी 1/एससी 22/डब्ल्यूजी 21 ने प्रोग्रामिंग भाषा सी ++ पर मानक आईएसओ/आईईसी 14882: 2003 का उत्पादन किया है। इसे 2003-10- 16. "] (http://www.open-std.org/jtc1/sc22/WG21/docs/standards)। ध्यान दें कि यह एक टीसी (तकनीकी corrigendum) का परिणाम है एक टीआर (तकनीकी रिपोर्ट) नहीं। ए टीआर एक अलग दस्तावेज है, मानक के लिए संशोधन नहीं। –
मैंने यह नहीं कहा कि यह एक टीआर था, मैंने कहा कि उसने टीआर 3 सामग्री पेश की, जो उसने किया। 2003 में प्रकाशित दस्तावेज़ 1 99 8 सेंट था एंडर्ड प्लस सीए यह एक नया सी ++ मानक नहीं था और 1 99 8 के मानक को किसी भी तरह से संशोधित नहीं किया गया था। –