मेरे पास एक बहुत बड़ा सी ++ कोड बेस है (स्वयं लिखा नहीं है)। कई पुस्तकालय, कुछ इतने सिंथैक्टिक रूप से भारी नहीं हैं, कुछ बहुत ही हैं। दूसरों के बीच बूस्ट, कुछ ईजिन का भारी उपयोग है।gnu C++ 0x पिछड़ा संगतता स्थिति - क्या मैं इसे अभी चालू कर सकता हूं?
मुझे बस 0x की कुछ नई विशेषताओं से प्यार है और एक त्वरित संकलन/परीक्षण मुझे बताता है कि यह सब अच्छा लगता है। This question, and this one सुझाव देते हैं कि कुछ चीजें हैं जो मजाकिया गंध करती हैं।
मेरे वर्तमान स्थिति है:
- gcc4.4.3
- libstC++ 6-4.4
- बढ़ावा-1.40
- eigen 3.0 - beta3
std=c++0x
ध्वज का उपयोग ।
मुझे पता है कि मानक समिति ने पीछे की संगतता और गंभीर दर्द का सामना किया है। मेरा सवाल है, क्या यह काम करता है? क्या मैं वह कोड ले सकता हूं, सी ++ 0x पर स्विच कर सकता हूं और निश्चित हो सकता हूं कि सबकुछ न केवल संकलित करता है बल्कि उम्मीद के अनुसार भी काम करता है?
मैं उच्च 0x जादू का उपयोग नहीं करता, केवल auto
और कुछ सामान्य पसंदीदा स्पष्ट रूप से GNU C++0x status पर "कार्यान्वित" चिह्नित किए गए हैं।
गर्म नई भाषा आज़माएं, इसे C89 कहा जाता है :)। सब कुछ पर काम करता है। आप इसे अपने सी ++ कंपाइलर में भी इस्तेमाल कर सकते हैं! नवीनीकरण पर तोड़ने की गारंटी नहीं है। –
"sizeof ('a')" जैसी चीजें सी ++ कंपाइलर द्वारा संकलित होने पर अलग-अलग परिणाम उत्पन्न करती हैं, इसलिए सी 8 9 के साथ भी कोई गारंटी नहीं है। लेकिन क्या सी ++ 0x के तहत चुपचाप सी ++ 98 कोड बदलने वाले व्यवहार का कोई गैर-अनुक्रमित उदाहरण हैं? – Clinton
@ क्लिंटन: http://stackoverflow.com/questions/5759232/stdvector-default-construction-c0x-and-breaking-changes –