भाषा सुविधाएं:
टेम्प्लेट और जेनेरिक कोड
लैम्ब्डा
गुण
सिंटेक्स क्लीनअप
क्लीनर बहु-वापसी और प्रवाह नियंत्रण
विविध
हेक्साडेसिमल फ्लोट बिंदु शाब्दिक
अधिक संरेखित डेटा के लिए गतिशील मेमोरी आवंटन
गारंटी की नकल
- आखिरकार!
- सभी मामलों में नहीं, लेकिन सिंटैक्स को अलग करता है जहां आप "बस कुछ बना रहे हैं" जिसे "एलीसन" कहा गया था, "वास्तविक एलिसन"।
कुछ संशोधनों के साथ (कुछ) अभिव्यक्तियों के लिए निश्चित क्रम का मूल्यांकन
- फ़ंक्शन तर्कों सहित नहीं, लेकिन फ़ंक्शन तर्क मूल्यांकन इंटरलेइंग पर अब प्रतिबंध लगा दिया गया है
- टूटे हुए कोड का एक गुच्छा बनाता है ज्यादातर काम करता है, और
.then
भविष्य के काम पर बनाता है ।
प्रत्यक्ष सूची-एनमों की गणना
फॉरवर्ड प्रोग्रेस गारंटी (FPG) ( समांतर एल्गोरिदम के लिए FPGs )
- मुझे लगता है कि यह कह रहा है "कार्यान्वयन हमेशा के लिए धागे नहीं रोक सकता है"?
u8'U', u8'T', u8'F', u8'8'
वर्ण शाब्दिक (पहले से मौजूद स्ट्रिंग)
टाइप सिस्टम में "noexcept"
__has_include
- यदि कोई हेडर फ़ाइल शामिल है, तो एक त्रुटि होगी
- लगभग सीमांत तक प्रयोगात्मक से माइग्रेटिंग बनाता है
पॉइंटर कनवर्ज़न फ़िक्सेस की एरर्स
विरासत में मिले कंस्ट्रक्टर कुछ कोने के मामलों को ठीक करते हैं ( व्यवहार परिवर्तनों के उदाहरणों के लिए P0136R0 देखें )
विरासत के साथ कुल आरंभ ।
std::launder
, टाइप पिंगिंग, आदि
पुस्तकालय परिवर्धन:
जानकारी का प्रकार
सामान मंगवाओ
std::invoke
- किसी भी सिंटैक्स के साथ किसी भी कॉल करने योग्य (फ़ंक्शन पॉइंटर, फ़ंक्शन, सदस्य पॉइंटर) को कॉल करें। मानक INVOKE अवधारणा से।
std::apply
- एक फंक्शन की तरह और एक ट्यूपल लेता है, और कॉल में ट्यूपल को अनपैक करता है।
std::make_from_tuple
, std::apply
वस्तु निर्माण पर लागू होता है
is_invocable
, is_invocable_r
,invoke_result
थ्रेडिंग
(पुर्जों के पुर्जे) फंडामेंटल टीएस v1 को ऊपर या नीचे कवर नहीं किया जाता
कंटेनर में सुधार
स्मार्ट पॉइंटर बदल जाता है
अन्य std
डेटा प्रारूप में सुधार:
विविध
C ++ 17 लाइब्रेरी C99 के बजाय C11 पर आधारित है
भविष्य के मानक पुस्तकालयों केstd[0-9]+
लिए आरक्षित
destroy(_at|_n)
, uninitialized_move(_n)
, uninitialized_value_construct(_n)
,uninitialized_default_construct(_n)
- सबसे
std
कार्यान्वयन में उपयोगिता कोड पहले से ही उजागर
- विशेष गणित कार्य
- वैज्ञानिक उन्हें पसंद कर सकते हैं
std::clamp()
std::clamp( a, b, c ) == std::max( b, std::min( a, c ) )
मोटे तौर पर
gcd
तथा lcm
std::uncaught_exceptions
- आवश्यक है यदि आप केवल विनाशकों से सुरक्षित होने पर फेंकना चाहते हैं
std::as_const
std::bool_constant
_v
टेम्पलेट चर का एक पूरा गुच्छा
std::void_t<T>
- टेम्प्लेट लिखते समय आश्चर्यजनक रूप से उपयोगी
std::owner_less<void>
- जैसे
std::less<void>
, लेकिन स्मार्ट पॉइंटर्स के लिए सामग्री के आधार पर सॉर्ट करना
std::chrono
पोलिश
std::conjunction
, std::disjunction
,std::negation
उजागर
std::not_fn
- के भीतर noexcept के लिए नियम
std
- std :: is_contiguous_layout , कुशल हैशिंग के लिए उपयोगी है
- std :: to_chars / std :: from_chars , उच्च प्रदर्शन, स्थानीय अज्ञेय संख्या रूपांतरण; अंत में मानव पठनीय प्रारूपों (JSON और co) को क्रमबद्ध / deserialize करने का एक तरीका
std :: default_order , अप्रत्यक्षता std::less
। (नाम मैनलिंग, हटाए जाने के कारण कुछ कंपाइलरों का ABI टूट जाता है।)
लक्षण
पदावनत
Isocpp.org में C ++ 14 के बाद से परिवर्तनों की एक स्वतंत्र सूची है; यह आंशिक रूप से स्तंभित किया गया है।
स्वाभाविक रूप से टीएस का काम समानांतर रूप से जारी है, इसलिए कुछ टीएस ऐसे नहीं हैं, जो बहुत अधिक परिपक्व नहीं हैं, जिन्हें अगले पुनरावृत्ति के लिए इंतजार करना होगा। अगले पुनरावृत्ति का लक्ष्य C ++ 20 है जैसा कि पहले नियोजित था, C ++ 19 जैसा कि कुछ अफवाहें निहित नहीं हैं। C ++ 1O को टाला गया है।
इस रेडिट पोस्ट से ली गई प्रारंभिक सूची और इस reddit पोस्ट , लिंक के साथ googling के माध्यम से या उपरोक्त isocpp.org पेज से जोड़ा गया है।
से अतिरिक्त प्रविष्टियाँ दर्ज की गईं SD-6 सुविधा-परीक्षण सूची ।
क्लैंग की फीचर सूची और लाइब्रेरी फ़ीचर लिस्ट को अगले चरण में रखा गया है। यह विश्वसनीय नहीं लगता, क्योंकि यह C ++ 1z है, C ++ 17 नहीं।
ये स्लाइड में कुछ विशेषताएं कहीं और गायब थीं।
जबकि "जो हटा दिया गया था" नहीं पूछा गया था, यहां कुछ चीजों की एक छोटी सूची है ((ज्यादातर?) पिछले पदावनत) जिन्हें C ++ से C ++ 17 में हटा दिया गया है:
हटा दिया:
रेवड़ियाँ थीं। मैं अनिश्चित हूँ कि इनका कोड पर कोई प्रभाव पड़ता है, या यदि ये मानक में केवल क्लीनअप हैं:
पत्रों को अभी तक ऊपर में एकीकृत नहीं किया गया है:
विशिष्ट परिवर्तन:
आगे संदर्भ: