2015-05-22 13 views
6

स्कोप निकास पर एक लैम्ब्डा चलाना ऐसी मूल बात की तरह लगता है, मैं अपेक्षा करता हूं कि इसे मानकीकृत किया जाए। unique_ptr जैसी चीजें बेहतर होती हैं, जब वे लागू होती हैं, लेकिन मुझे लगता है कि "वन-ऑफ" विनाशकों की अंतहीन आपूर्ति की आवश्यकता है, खासकर जब सी-शैली पुस्तकालयों का लाभ उठाते हैं। क्या किसी को पता है कि यह आ रहा है?क्या स्कोप गार्ड/स्कोप निकास मुहावरे का मानकीकरण होगा?

+0

किस मामले में आप स्कोप निकास पर लैम्बडा का उपयोग कर रहे हैं? – Borgleader

+0

थ्रेड पूल बंद करने से पहले थ्रेड पूल कार्य आइटमों को पूरा करने की प्रतीक्षा करना एक अच्छा उदाहरण है (यहां तक ​​कि जब एक अपवाद फेंक दिया जाता है तब भी आपको इंतजार करना पड़ता है या यह श्रमिकों को दुर्घटनाग्रस्त कर देगा)। आपके द्वारा की जाने वाली प्रत्येक चीज़ के लिए एक पूर्ण सी ++ रैपर बनाना हमेशा संभव होता है, लेकिन उन मामलों में इसका इतना अतिरिक्त कोड है जहां आप इसे एक बार उपयोग करते हैं। – VoidStar

+0

एक प्रस्ताव लिखें? मुझे पसंद है [स्टीफनस डू टोइट] (https://github.com/CppCon/CppCon2014/blob/master/Presentations/C%2B%2B11%20in%20the%20Wild%20-%20Techniques%20from%20a%20Real % 20Codebase/auto.h) कार्यान्वयन (हालांकि मुझे नहीं पता कि उसे इसे 'ऑटो' क्यों कहा जाता है) – Barry

उत्तर

8

n4189 भाषा में make_scope_exit रैपर, और अन्य समान संसाधन हैंडलर जोड़ने का प्रस्ताव है। यह अपेक्षाकृत प्रसिद्ध scope_guard बात से दूर है।

एलडब्ल्यूजी से सबसे हालिया "वर्तमान पेपर स्थिति" 2013 में, उपरोक्त तारीख से पहले है।

सी ++ 1z (उम्मीद है कि सी ++ 17) की सामग्री अभी तक निर्धारित नहीं है।

C++1z status for clang इसका उल्लेख नहीं है। C++1z TS for clang इसका उल्लेख नहीं है।

पेपर में एक उदाहरण कार्यान्वयन है। मुझे नहीं पता कि यह किस लाइसेंसिंग शर्तों के तहत है।

+3

ऐसा लगता है [ऐसा लगता है कि LEWG पास हो गया है] (https://issues.isocpp.org/show_bug.cgi?id=6), लेकिन ऐसा लगता है कि इसे होने से पहले बेहतर शब्द की आवश्यकता होगी गोद लिया। एन 418 9 का शब्द बहुत खराब है। –

7

It would appear दायरे से बाहर निकलने के कागज, P0052, के वर्तमान संस्करण पोस्ट -सी ++ 17 मानक में लाइब्रेरी बुनियादी बातों v3 में जा रहा हो जाएगा कि, संभावना गोद लेने के लिए।

संक्षेप में, सी ++ 17 के लिए नहीं होने वाला है। माफ़ कीजिये।

+1

अंतिम टिप्पणी है कि इसे आईएस में स्थानांतरित करने के प्रस्ताव के बारे में बताता है। यह नहीं कह सकता कि यह होने वाला है या नहीं। –

+0

@pepper_chico आईएस क्या है? – Jens

+0

@ जेन्स: अंतर्राष्ट्रीय मानक। यह नहीं बनाया, बीटीडब्ल्यू। –

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