अक्सर मैंने कुछ सी ++ सुविधाओं को काटकर कुछ पुराने/पुराने/विदेशी सी ++ कंपाइलर्स के अनुपालन के लिए पढ़ा।क्या सी ++ (98/03) विशेषताएं खराब कंपेलरों द्वारा समर्थित नहीं हैं?
This one अभी पिछले एक मैं चढ़ गया है: Box2D नामस्थान का उपयोग नहीं कर रहा है क्योंकि वे समर्थन करने की आवश्यकता:
गरीब सी ++ compilers जहां नाम स्थान समर्थन धब्बेदार हो सकता है
एक बड़ा उदाहरण मैं क्यूटी के बारे में सोच सकता हूं, जो एमओसी पर निर्भर है, टेम्पलेट उपयोग को बहुत सीमित कर रहा है और टेम्पलेट से परहेज कर रहा है (ठीक है, यह क्यूटी 3 और पिछले संस्करणों के लिए कम से कम सच है, क्यूटी 4 ज्यादातर अपने सम्मेलनों को बनाए रखने के लिए कर रहा है)।
मुझे आश्चर्य है कि कौन से कंपेलर गरीब हैं?
वहां lots of C++ compilers हैं (मैंने उनमें से अधिकांश के बारे में कभी नहीं सुना है), लेकिन मुझे आशा है कि वे सभी सबसे आम (/ सरल?) सी ++ सुविधाओं जैसे नामस्थान (जब तक वे मर नहीं जाते) का समर्थन कर रहे हैं; क्या यह मामला नहीं है?
सबसे असमर्थित विशेषताएं क्या हैं?
मैं बाहरी टेम्पलेट्स, शायद टेम्पलेट आंशिक विशेषज्ञता और इसी तरह की विशेषताओं की कमी की आसानी से उम्मीद कर सकता हूं। आरटीटीआई या अपवादों में भी, लेकिन मुझे कभी भी नामस्थानों पर संदेह नहीं होता।
हम्म। बॉक्स 2 डी ने जाहिर तौर पर 2006 की शुरुआत में "जीवन शुरू किया"। यह नामस्थान से बचने के लिए देर से लगता है। लेकिन Qt3 उस समय से है जब कोई सभ्य विंडोज सी ++ कंपाइलर नहीं था, और इसकी गति इसे तब से ले गई है। – aschepler
कोई यह नोट कर सकता है कि क्यूटी के एमओसी (मेटा ऑब्जेक्ट कंपाइलर) में वास्तव में कोई सी ++ सुविधा या अन्य के साथ कुछ नहीं है या नहीं। मैंने हमेशा इसे एक (उपयोगी) ऐड-ऑन सुविधा के रूप में देखा जो शुद्ध सी ++ के माध्यम से अपने फीचर सेट को कार्यान्वित करने की कोशिश करने से क्यूटी सरल के साथ प्रोग्रामिंग करता है। –
@ मार्टिन: जहां तक मुझे सी ++ 03 के साथ पता है, लगभग सभी एमओसी का उपयोग करने के लिए अपेक्षाकृत सरल है, विशेष रूप से सिग्नल/स्लॉट तंत्र (boost.signal देखें) जो मुझे लगता है कि एमओसी के लिए सबसे महत्वपूर्ण विशेषता है बनाया गया है – peoro