2014-06-15 7 views
16

जीसीसी 4.9.0 रिलीज को देखते हुए here में परिवर्तन करते हुए, मैं निम्नलिखित पढ़ने के लिए सुखद आश्चर्यचकित था; सी ++ के लिए "नया बोली और भाषा विशिष्ट सुधार" के तहत: के रूप में §4.1.2 और N3889: Concepts Lite Specification की §5.1.1 द्वारा निर्दिष्टक्या सी ++ 14 अनियंत्रित सामान्य कार्यों का समर्थन करेगा?

जी ++ स्वेच्छापूर्ण सामान्य कार्यों का समर्थन करता है। संक्षेप में, ऑटो जेनेरिक लैम्ब्स के समान, एक अंतर्निहित फ़ंक्शन टेम्पलेट पैरामीटर लागू करने के लिए किसी भी फ़ंक्शन घोषणाकर्ता के पैरामीटर घोषणा में एक प्रकार-विनिर्देशक के रूप में उपयोग किया जा सकता है।

// the following two function declarations are equivalent 
auto incr(auto x) { return x++; } 
template <typename T> 
auto incr(T x) { return x++; } 

मैं जीसीसी 4.9.0 का निर्माण किया है और मेरी प्रारंभिक परीक्षण की उम्मीद के रूप में काम। मेरा मानना ​​है कि संकल्पना लाइट आगामी सी ++ 14 विनिर्देश के लिए किसी भी तरह सहायक होगी। क्या सी ++ का हिस्सा बनने के लिए "अनियंत्रित सामान्य कार्यों" के लिए कोई योजना है?

+2

के भविष्य के संस्करण में शामिल है जबकि मैं यह नहीं लगता कि 100% अधिकारी बन जाएगा जब तक सी ++ 17 , आप लगभग सी ++ 14 में कर सकते हैं: 'ऑटो incr = [] (ऑटो एक्स) {वापसी x ++;}; ' – chris

+0

चीयर्स क्रिस। हाँ, मुझे उस बारे में पता है। – user2023370

+0

मुझे नवीनतम ड्राफ्ट मानक 'N3936' में' 4.1.2' और 'N3889' के' 5.1.1' में उल्लिखित किसी भी अतिरिक्त योग को नहीं मिला है, इसलिए मैं सी ++ 14 के लिए नहीं कहूंगा। –

उत्तर

5

अगर हम नवीनतम मानक N3936 मसौदा जो बहुत सी ++ 14 जिले जो N3937 है के करीब है (इस N3938 में कवर किया जाता है) पर नजर डालें। इसमें N3889 के अनुभाग 4.1.2 और 5.1.1 में निर्दिष्ट भाषा में से कोई भी शामिल नहीं है।

तो सी ++ 14 के लिए ऐसा लगता है कि उत्तर नहीं है, लेकिन Bjarne Stroustrup says concepts lite will be a technical report है। आप जो कहते हैं ISO cpp's Current Status page पर तकनीकी रिपोर्ट के बारे में अधिक जानकारी प्राप्त कर सकते हैं:

परे सी ++ 14, समिति लगभग 2017 में एक और सी ++ स्टैंडर्ड उत्पादन यही कारण है कि कुछ भी नहीं है इस बीच में हो रहा है इसका मतलब यह नहीं चिंतन हालांकि, , क्योंकि वर्तमान में हमारे पास आठ (8) अलग तकनीकी विनिर्देश चल रहे हैं, जिनमें से कई 2014 और 2015 में प्रकाशित होने के ट्रैक पर हैं। 2012 में, समिति के पास एक "decoupled" मॉडल में परिवर्तित हुआ जहां काम के प्रमुख टुकड़े मानक से स्वतंत्र रूप से प्रगति कर सकता है और अलग टीएस के रूप में वितरित किया जा सकता है। विक्रेता इन्हें लागू करने का विकल्प चुन सकते हैं, और समुदाय प्रत्येक सुविधा के std :: प्रयोगात्मक संस्करण के साथ अनुभव प्राप्त कर सकता है। यह हमें जानने के लिए और प्रत्येक सुविधा के डिजाइन अनुभव के आधार पर समायोजित करने देता है इससे पहले कि यह औपचारिक रूप से वास्तविक सी ++ स्टैंडर्ड

संबंधित मुद्दे