वर्तमान जीसीसी/सी ++ 14 स्थिति जैसे "बीटा" की तरह है और इसलिए जीसीसी/सी ++ 14 उत्पादन कोड के लिए तैयार नहीं है?
यह निर्भर करता है कि आप किन सुविधाओं का उपयोग करते हैं। make_unique
बहुत आसान है, कार्यान्वित करना आसान था, और भरोसा करने के लिए सुरक्षित होना चाहिए।
कुछ अन्य नई विशेषताओं (विशेष रूप से कोर भाषा विशेषताओं) ने कार्यान्वित करने के लिए बहुत अधिक काम किया है और अधिक बग्स ढूंढने और तय होने की प्रतीक्षा कर सकते हैं।
तो कोई भी "यह तैयार नहीं है" या "यह तैयार नहीं है" उत्तर है।
हालांकि, एक महत्वपूर्ण बात यह जानना है कि इसे अभी भी प्रयोगात्मक के रूप में लेबल किया गया है, उदाहरण के लिए जीसीसी 4.x और जीसीसी 5 के बीच पिछड़े संगतता को बनाए रखने का कोई प्रयास नहीं है। इसलिए यदि आपके पास जीसीसी 4.8 के साथ बनाया गया सी ++ 11 कोड है तो आपको इसे 4.9 के साथ बनाए गए अन्य सी ++ 11/सी ++ 14 ऑब्जेक्ट्स से लिंक करना चाहते हैं, और इसी तरह यदि आप जीसीसी 5 पर जाते हैं तो आपको इसे फिर से संकलित करने की आवश्यकता होती है। : सी ++ 11 या सी ++ 14 का उपयोग करने वाली सभी ऑब्जेक्ट्स को पुन: संकलित करें (क्योंकि std::tuple
जैसे प्रकार जीसीसी 5 में डेटा लेआउट बदल गए हैं)।
सी ++ 03 कोड के लिए हम रिलीज़ के बीच परिभाषाओं को नहीं बदलते हैं, इसलिए वे स्थिर हैं।
स्रोत
2015-03-10 21:22:56
आईएमओ, यह तब तक तैयार नहीं हो सकता जब तक कि C++ 11 समर्थन समाप्त नहीं हो जाता (यानी: codecvt, et al)। – Brandon
यह संभवतः सहायक हो सकता है - [जीसीसी सी ++ 2014 कार्यान्वयन स्थिति] (https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2014) –
@ ब्रैंडन: मुझे लगता है कि जीसीसी डेवलपर्स C++ 14 से C++ 11 भागों को अलग करने के बजाय, संपूर्ण रूप से C++ 14 को लक्षित करें, उदाहरण के लिए यदि सी ++ 14 में उपयोगी विशेषताएं हैं, तो इन्हें सी ++ 11 की कम उपयोगी विशेषताओं पर प्राथमिकता दी जा सकती है। दूसरी ओर, यहां तक कि अगर codecvt et al जैसी चीजें हैं। समाप्त नहीं हो गए हैं, क्या आप जीसीसी को उत्पादन गुणवत्ता सी ++ 11 कोड के लिए तैयार मानेंगे? –