सी ++ 20: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{C++ language revisions}}
{{C++ language revisions}}
'''[[C++]]20''' सी++ प्रोग्रामिंग भाषा के लिए मानकीकरण के लिए अंतर्राष्ट्रीय संगठन या अंतर्राष्ट्रीय [[इंटरनेशनल इलेक्ट्रोटेक्नीकल कमीशन]] मानक का एक संस्करण है। सी++20 ने सी++ मानक के पूर्व संस्करण को बदल दिया। जिसे [[C++17|सी++17]] कहा जाता है।<ref>{{cite web |title=The Standard |url=https://isocpp.org/std/the-standard |website=isocpp.org |accessdate=7 September 2020 |archive-date=19 September 2020 |archive-url=https://web.archive.org/web/20200919050617/https://isocpp.org/std/the-standard |url-status=live }}</ref> मानक को विधि रूप से अंतिम रूप दिया गया था।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1000r3.pdf|title=P1000R3: C++ IS schedule|last=Sutter|first=Herb|date=2019-10-01|website=|access-date=2020-02-13|archive-date=2019-11-14|archive-url=https://web.archive.org/web/20191114141143/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1000r3.pdf|url-status=live}}</ref> फरवरी 2020 में [[प्राहा]] में बैठक में आईएसओ/आईईसी जेटीसी 1/एससी 22 द्वारा<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/n4817.pdf|title=N4817: 2020 Prague Meeting Invitation and Information|last=Dusíková|first=Hana|date=2019-11-06|website=|url-status=live|archive-url=https://web.archive.org/web/20191229102449/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/n4817.pdf |archive-date=2019-12-29 |access-date=2020-02-13}}</ref> 4 सितंबर 2020 को स्वीकृत किया गया<ref>{{cite web |title=Current Status |url=https://isocpp.org/std/status |website=isocpp.org |accessdate=7 September 2020 |archive-date=8 September 2020 |archive-url=https://web.archive.org/web/20200908083135/https://isocpp.org/std/status |url-status=live }}</ref><ref>{{cite web |title=C++20 Approved -- Herb Sutter |url=https://isocpp.org/blog/2020/09/cpp20-approved-herb-sutter |website=isocpp.org |accessdate=8 September 2020 |archive-date=11 September 2020 |archive-url=https://web.archive.org/web/20200911150359/https://isocpp.org/blog/2020/09/cpp20-approved-herb-sutter |url-status=live }}</ref> और दिसंबर 2020 में प्रकाशित हुआ।<ref>{{cite web|url=https://www.iso.org/standard/79358.html|title=ISO/IEC 14882:2020|access-date=2020-12-16|archive-date=2020-12-16|archive-url=https://web.archive.org/web/20201216154357/https://www.iso.org/standard/79358.html|url-status=live}}</ref>
'''[[C++|सी++]]20''' सी++ प्रोग्रामिंग भाषा के लिए मानकीकरण के लिए अंतर्राष्ट्रीय संगठन या अंतर्राष्ट्रीय [[इंटरनेशनल इलेक्ट्रोटेक्नीकल कमीशन]] मानक का एक संस्करण है। सी++20 ने सी++ मानक के पूर्व संस्करण को  
 
परिवर्तित दिया। जिसे [[C++17|सी++17]] कहा जाता है।<ref>{{cite web |title=The Standard |url=https://isocpp.org/std/the-standard |website=isocpp.org |accessdate=7 September 2020 |archive-date=19 September 2020 |archive-url=https://web.archive.org/web/20200919050617/https://isocpp.org/std/the-standard |url-status=live }}</ref> मानक को विधि रूप से अंतिम रूप दिया गया था।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1000r3.pdf|title=P1000R3: C++ IS schedule|last=Sutter|first=Herb|date=2019-10-01|website=|access-date=2020-02-13|archive-date=2019-11-14|archive-url=https://web.archive.org/web/20191114141143/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1000r3.pdf|url-status=live}}</ref> फरवरी 2020 में [[प्राहा]] में बैठक में आईएसओ/आईईसी जेटीसी 1/एससी 22 द्वारा<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/n4817.pdf|title=N4817: 2020 Prague Meeting Invitation and Information|last=Dusíková|first=Hana|date=2019-11-06|website=|url-status=live|archive-url=https://web.archive.org/web/20191229102449/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/n4817.pdf |archive-date=2019-12-29 |access-date=2020-02-13}}</ref> 4 सितंबर 2020 को स्वीकृत किया गया<ref>{{cite web |title=Current Status |url=https://isocpp.org/std/status |website=isocpp.org |accessdate=7 September 2020 |archive-date=8 September 2020 |archive-url=https://web.archive.org/web/20200908083135/https://isocpp.org/std/status |url-status=live }}</ref><ref>{{cite web |title=C++20 Approved -- Herb Sutter |url=https://isocpp.org/blog/2020/09/cpp20-approved-herb-sutter |website=isocpp.org |accessdate=8 September 2020 |archive-date=11 September 2020 |archive-url=https://web.archive.org/web/20200911150359/https://isocpp.org/blog/2020/09/cpp20-approved-herb-sutter |url-status=live }}</ref> और दिसंबर 2020 में प्रकाशित हुआ।<ref>{{cite web|url=https://www.iso.org/standard/79358.html|title=ISO/IEC 14882:2020|access-date=2020-12-16|archive-date=2020-12-16|archive-url=https://web.archive.org/web/20201216154357/https://www.iso.org/standard/79358.html|url-status=live}}</ref>
 




Line 20: Line 23:
* डिफ़ॉल्ट रचनात्मक और असाइन करने योग्य स्टेटलेस लैम्ब्डा<ref name=":0" /><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0624r2.pdf|title=Default constructible and assignable stateless lambdas|access-date=2017-12-11|archive-date=2017-12-12|archive-url=https://web.archive.org/web/20171212031425/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0624r2.pdf|url-status=live}}</ref>
* डिफ़ॉल्ट रचनात्मक और असाइन करने योग्य स्टेटलेस लैम्ब्डा<ref name=":0" /><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0624r2.pdf|title=Default constructible and assignable stateless lambdas|access-date=2017-12-11|archive-date=2017-12-12|archive-url=https://web.archive.org/web/20171212031425/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0624r2.pdf|url-status=live}}</ref>
* लैम्ब्डा इनिट-कैप्चर में पैक विस्तार की अनुमति दें<ref name=":0" /><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0780r0.html|title=Pack expansion in lambda init-capture|website=www.open-std.org|access-date=2017-12-11|archive-date=2020-02-14|archive-url=https://web.archive.org/web/20200214081039/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0780r0.html|url-status=live}}</ref>
* लैम्ब्डा इनिट-कैप्चर में पैक विस्तार की अनुमति दें<ref name=":0" /><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0780r0.html|title=Pack expansion in lambda init-capture|website=www.open-std.org|access-date=2017-12-11|archive-date=2020-02-14|archive-url=https://web.archive.org/web/20200214081039/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0780r0.html|url-status=live}}</ref>
* गैर-प्रकार के टेम्पलेट पैरामीटर में वर्ग प्रकार, स्ट्रिंग अक्षर को टेम्पलेट पैरामीटर के रूप में भी अनुमति देता है।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0732r2.pdf|title=Class Types in Non-Type Template Parameters|date=2018-06-06|website=www.open-std.org|access-date=2022-02-18|archive-date=2022-02-05|archive-url=https://web.archive.org/web/20220205083651/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0732r2.pdf|url-status=live}}</ref>
* गैर-प्रकार के टेम्पलेट पैरामीटर में वर्ग प्रकार स्ट्रिंग अक्षर को टेम्पलेट पैरामीटर के रूप में भी अनुमति देता है।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0732r2.pdf|title=Class Types in Non-Type Template Parameters|date=2018-06-06|website=www.open-std.org|access-date=2022-02-18|archive-date=2022-02-05|archive-url=https://web.archive.org/web/20220205083651/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0732r2.pdf|url-status=live}}</ref>
* कुछ निश्चित परिस्थितियों में <code>typename</code> की आवश्यकता को दूर करना <ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0634r3.html|title=Down with typename!|author1=Nina Ranns|author2=Daveed Vandevoorde|access-date=2019-05-18|archive-date=2018-04-22|archive-url=https://web.archive.org/web/20180422180216/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0634r3.html|url-status=live}}</ref>
* कुछ निश्चित परिस्थितियों में <code>typename</code> की आवश्यकता को दूर करना <ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0634r3.html|title=Down with typename!|author1=Nina Ranns|author2=Daveed Vandevoorde|access-date=2019-05-18|archive-date=2018-04-22|archive-url=https://web.archive.org/web/20180422180216/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0634r3.html|url-status=live}}</ref>
* नए मानक गुण <code><nowiki>[[no_unique_address]]</nowiki></code>,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0840r2.html|title=Language support for empty objects|access-date=2019-08-04|archive-date=2018-04-17|archive-url=https://web.archive.org/web/20180417180340/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0840r2.html|url-status=live}}</ref> <code><nowiki>[[likely]]</nowiki></code> और <code><nowiki>[[unlikely]]</nowiki></code><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0479r5.html|title=Proposed wording for likely and unlikely attributes (Revision 5)|access-date=2019-05-18|archive-date=2018-05-13|archive-url=https://web.archive.org/web/20180513080343/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0479r5.html|url-status=live}}</ref>
* नए मानक गुण <code><nowiki>[[no_unique_address]]</nowiki></code>,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0840r2.html|title=Language support for empty objects|access-date=2019-08-04|archive-date=2018-04-17|archive-url=https://web.archive.org/web/20180417180340/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0840r2.html|url-status=live}}</ref> <code><nowiki>[[likely]]</nowiki></code> और <code><nowiki>[[unlikely]]</nowiki></code><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0479r5.html|title=Proposed wording for likely and unlikely attributes (Revision 5)|access-date=2019-05-18|archive-date=2018-05-13|archive-url=https://web.archive.org/web/20180513080343/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0479r5.html|url-status=live}}</ref>
* नियमानुसार <code>explicit</code> अनुमति देता है। <code>explicit</code> एक बूलियन अभिव्यक्ति पर आकस्मिक होने के लिए संशोधक है।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0892r2.html|title=explicit(bool)|website=www.open-std.org|access-date=2018-11-13|archive-date=2018-07-20|archive-url=https://web.archive.org/web/20180720061629/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0892r2.html|url-status=live}}</ref>
* नियमानुसार <code>explicit</code> अनुमति देता है। <code>explicit</code> एक बूलियन अभिव्यक्ति पर आकस्मिक होने के लिए संशोधक है।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0892r2.html|title=explicit(bool)|website=www.open-std.org|access-date=2018-11-13|archive-date=2018-07-20|archive-url=https://web.archive.org/web/20180720061629/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0892r2.html|url-status=live}}</ref>
*विस्तारित <code>constexpr</code>: आभासी कार्य,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1064r0.html|title=Allowing Virtual Function Calls in Constant Expressions|website=www.open-std.org|access-date=2019-03-11|archive-date=2018-06-11|archive-url=https://web.archive.org/web/20180611142757/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1064r0.html|url-status=live}}</ref> <code>union</code>,<ref>{{cite web|url=https://wg21.link/p1330|title=P1330R0 - Changing the active member of a union inside constexpr|access-date=2019-07-26|archive-date=2019-07-26|archive-url=https://web.archive.org/web/20190726101620/https://wg21.link/p1330|url-status=live}}</ref> <code>try</code> और <code>catch</code>,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1002r0.pdf|title=P1002R0 - Try-catch blocks in constexpr functions|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133628/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1002r0.pdf|url-status=live}}</ref> <code>dynamic_cast</code> और <code>typeid</code>,<ref>{{cite web|url=https://wg21.link/p1327|title=P1327R0 - Allowing dynamic_cast, polymorphic typeid in Constant Expressions|access-date=2019-07-26|archive-date=2019-07-26|archive-url=https://web.archive.org/web/20190726101620/https://wg21.link/p1327|url-status=live}}</ref> <code>std::pointer_traits</code><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1006r1.pdf|title=P1006R1 - Constexpr in std::pointer_traits|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133625/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1006r1.pdf|url-status=live}}</ref>
*विस्तारित <code>constexpr</code>: आभासी कार्य,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1064r0.html|title=Allowing Virtual Function Calls in Constant Expressions|website=www.open-std.org|access-date=2019-03-11|archive-date=2018-06-11|archive-url=https://web.archive.org/web/20180611142757/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1064r0.html|url-status=live}}</ref> <code>union</code>,<ref>{{cite web|url=https://wg21.link/p1330|title=P1330R0 - Changing the active member of a union inside constexpr|access-date=2019-07-26|archive-date=2019-07-26|archive-url=https://web.archive.org/web/20190726101620/https://wg21.link/p1330|url-status=live}}</ref> <code>try</code> और <code>catch</code>,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1002r0.pdf|title=P1002R0 - Try-catch blocks in constexpr functions|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133628/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1002r0.pdf|url-status=live}}</ref> <code>dynamic_cast</code> और <code>typeid</code>,<ref>{{cite web|url=https://wg21.link/p1327|title=P1327R0 - Allowing dynamic_cast, polymorphic typeid in Constant Expressions|access-date=2019-07-26|archive-date=2019-07-26|archive-url=https://web.archive.org/web/20190726101620/https://wg21.link/p1327|url-status=live}}</ref> <code>std::pointer_traits</code><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1006r1.pdf|title=P1006R1 - Constexpr in std::pointer_traits|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133625/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1006r1.pdf|url-status=live}}</ref>
* नए <code>consteval</code> कीवर्ड का उपयोग कर तत्काल कार्य करता है।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1073r2.html|title=P1073R2 - Immediate functions|access-date=2018-11-11|archive-date=2018-10-26|archive-url=https://web.archive.org/web/20181026124307/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1073r2.html|url-status=live}}</ref>
* नए <code>consteval</code> कीवर्ड का उपयोग कर तत्काल कार्य करता है।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1073r2.html|title=P1073R2 - Immediate functions|access-date=2018-11-11|archive-date=2018-10-26|archive-url=https://web.archive.org/web/20181026124307/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1073r2.html|url-status=live}}</ref>
* [[हस्ताक्षरित पूर्णांक]] अब दो के पूरक का उपयोग करके दर्शाए जाने के लिए परिभाषित किए गए हैं (हस्ताक्षरित पूर्णांक अतिप्रवाह [[अपरिभाषित व्यवहार]] रहता है)।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1236r0.html|title=P1236R0: Alternative Wording for P0907R4 Signed Integers are Two's Complement|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133642/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1236r0.html|url-status=live}}</ref>
* [[हस्ताक्षरित पूर्णांक]] अब दो के पूरक का उपयोग करके दर्शाए जाने के लिए परिभाषित किए गए हैं (हस्ताक्षरित पूर्णांक अतिप्रवाह [[अपरिभाषित व्यवहार]] रहता है)।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1236r0.html|title=P1236R0: Alternative Wording for P0907R4 Signed Integers are Two's Complement|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133642/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1236r0.html|url-status=live}}</ref>
* एक संशोधित स्मृति मॉडल<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0668r4.html|title=P0668R4: Revising the C++ memory model|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133634/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0668r4.html|url-status=live}}</ref>
* एक संशोधित स्मृति मॉडल<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0668r4.html|title=P0668R4: Revising the C++ memory model|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133634/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0668r4.html|url-status=live}}</ref>
Line 39: Line 42:
* <code>std::make_shared</code> और <code>std::allocate_shared</code> सरणियों के लिए<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0674r1.html|title=Extending make_shared to Support Arrays|access-date=2020-02-12|archive-date=2017-09-06|archive-url=https://web.archive.org/web/20170906070027/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0674r1.html|url-status=live}}</ref>
* <code>std::make_shared</code> और <code>std::allocate_shared</code> सरणियों के लिए<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0674r1.html|title=Extending make_shared to Support Arrays|access-date=2020-02-12|archive-date=2017-09-06|archive-url=https://web.archive.org/web/20170906070027/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0674r1.html|url-status=live}}</ref>
* एटॉमिक स्मार्ट पॉइंटर्स (जैसे <code>std::atomic<shared_ptr<T>></code> और <code>std::atomic<weak_ptr<T>></code>)<ref>{{cite web |last1=Meredith |first1=Alisdair |last2=Sutter |first2=Herb |title=Revising atomic_shared_ptr for C++20 |url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0718r2.html |website=JTC1/SC22/WG21 - The C++ Standards Committee - ISOCPP |publisher=[[International Organization for Standardization|ISO]] |accessdate=27 December 2018 |archive-date=4 January 2018 |archive-url=https://web.archive.org/web/20180104184159/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0718r2.html |url-status=live }}</ref>
* एटॉमिक स्मार्ट पॉइंटर्स (जैसे <code>std::atomic<shared_ptr<T>></code> और <code>std::atomic<weak_ptr<T>></code>)<ref>{{cite web |last1=Meredith |first1=Alisdair |last2=Sutter |first2=Herb |title=Revising atomic_shared_ptr for C++20 |url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0718r2.html |website=JTC1/SC22/WG21 - The C++ Standards Committee - ISOCPP |publisher=[[International Organization for Standardization|ISO]] |accessdate=27 December 2018 |archive-date=4 January 2018 |archive-url=https://web.archive.org/web/20180104184159/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0718r2.html |url-status=live }}</ref>
* <code>std::to_address</code> एक सूचक को कच्चे सूचक में बदलने के लिए<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html|title=Utility to convert a pointer to a raw pointer|access-date=2020-02-12|archive-date=2018-02-20|archive-url=https://web.archive.org/web/20180220012525/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html|url-status=live}}</ref>
* <code>std::to_address</code> एक सूचक को कच्चे सूचक में परिवर्तितने के लिए<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html|title=Utility to convert a pointer to a raw pointer|access-date=2020-02-12|archive-date=2018-02-20|archive-url=https://web.archive.org/web/20180220012525/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html|url-status=live}}</ref>
* कैलेंडर और समय-क्षेत्र के अतिरिक्त <code><chrono></code><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html|title=Extending <chrono> to Calendars and Time Zones|author1=Howard E. Hinnant|author2=Tomasz Kamiński|access-date=2019-05-18|archive-date=2018-05-13|archive-url=https://web.archive.org/web/20180513074927/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html|url-status=live}}</ref>
* कैलेंडर और समय-क्षेत्र के अतिरिक्त <code><chrono></code><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html|title=Extending <chrono> to Calendars and Time Zones|author1=Howard E. Hinnant|author2=Tomasz Kamiński|access-date=2019-05-18|archive-date=2018-05-13|archive-url=https://web.archive.org/web/20180513074927/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html|url-status=live}}</ref>
* <code>std::span</code> एक सन्निहित सारणी के लिए एक दृश्य प्रदान करता है। (संदर्भित अनुक्रम को <code>std::string_view,</code> <code>span</code> के अनुरूप बदल सकते हैं।)<ref>{{cite web|url=http://wg21.link/p0122|title=span: bounds-safe views for sequences of objects|author1=Neil MacIntosh|author2=Stephan T. Lavavej|access-date=2019-05-18|archive-date=2019-05-18|archive-url=https://web.archive.org/web/20190518102826/http://wg21.link/p0122|url-status=live}}</ref>
* <code>std::span</code> एक सन्निहित सारणी के लिए एक दृश्य प्रदान करता है। (संदर्भित अनुक्रम को <code>std::string_view,</code> <code>span</code> के अनुरूप परिवर्तित सकते हैं।)<ref>{{cite web|url=http://wg21.link/p0122|title=span: bounds-safe views for sequences of objects|author1=Neil MacIntosh|author2=Stephan T. Lavavej|access-date=2019-05-18|archive-date=2019-05-18|archive-url=https://web.archive.org/web/20190518102826/http://wg21.link/p0122|url-status=live}}</ref>
* <code>std::erase</code> और <code>std::erase_if</code> अधिकांश मानक कंटेनरों के लिए तत्व विलोपन को सरल बनाना<ref>{{Cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html|title=Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20|date=2018-10-04|author1=Alisdair Meredith|author2=Stephan T. Lavavej|access-date=2020-12-14|archive-date=2021-03-08|archive-url=https://web.archive.org/web/20210308123055/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html|url-status=live}}</ref>
* <code>std::erase</code> और <code>std::erase_if</code> अधिकांश मानक कंटेनरों के लिए तत्व विलोपन को सरल बनाना<ref>{{Cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html|title=Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20|date=2018-10-04|author1=Alisdair Meredith|author2=Stephan T. Lavavej|access-date=2020-12-14|archive-date=2021-03-08|archive-url=https://web.archive.org/web/20210308123055/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html|url-status=live}}</ref>
* <code><version></code> हैडर<ref>{{cite web|url=http://wg21.link/p0754|title=<version>|author=Alan Talbot|access-date=2019-05-18|archive-date=2019-05-18|archive-url=https://web.archive.org/web/20190518102900/http://wg21.link/p0754|url-status=live}}</ref>
* <code><version></code> हैडर<ref>{{cite web|url=http://wg21.link/p0754|title=<version>|author=Alan Talbot|access-date=2019-05-18|archive-date=2019-05-18|archive-url=https://web.archive.org/web/20190518102900/http://wg21.link/p0754|url-status=live}}</ref>
Line 65: Line 68:
हटाई गई विशेषताएं:<ref>{{Cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2020/n4861.pdf|title=Working Draft, Standard for Programming Language C++ (Annex C, §C.1)|access-date=2020-11-18|archive-date=2020-04-27|archive-url=https://web.archive.org/web/20200427145844/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4861.pdf|url-status=live}}</ref>
हटाई गई विशेषताएं:<ref>{{Cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2020/n4861.pdf|title=Working Draft, Standard for Programming Language C++ (Annex C, §C.1)|access-date=2020-11-18|archive-date=2020-04-27|archive-url=https://web.archive.org/web/20200427145844/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4861.pdf|url-status=live}}</ref>
* [[सी (प्रोग्रामिंग भाषा)]]-व्युत्पन्न हेडर <code><ccomplex></code>, <code><ciso646></code>, <code><cstdalign></code>, <code><cstdbool></code> और <code><ctgmath></code> हटा दिए गए क्योंकि वे सी++ में कोई उद्देश्य पूरा नहीं करते। इसी <code><*.h></code> सी के साथ अनुकूलता के लिए हेडर बने रहते हैं।
* [[सी (प्रोग्रामिंग भाषा)]]-व्युत्पन्न हेडर <code><ccomplex></code>, <code><ciso646></code>, <code><cstdalign></code>, <code><cstdbool></code> और <code><ctgmath></code> हटा दिए गए क्योंकि वे सी++ में कोई उद्देश्य पूरा नहीं करते। इसी <code><*.h></code> सी के साथ अनुकूलता के लिए हेडर बने रहते हैं।
* <code>throw()</code> का उपयोग एक अपवाद विनिर्देश के रूप में हटा दिया गया था।
* <code>throw()</code> का उपयोग एक अपवाद विनिर्देश के रूप में हटा दिया गया था।
* कुछ पूर्व में पदावनत पुस्तकालय सुविधाओं को हटा दिया गया था> जिनमें सम्मिलित हैं <code>std::uncaught_exception</code>, <code> std::raw_storage_iterator</code>, <code>std::is_literal_type</code>, <code>std::is_literal_type_v</code>, <code>std::result_of</code> और <code>std::result_of_t</code>.
* कुछ पूर्व में पदावनत पुस्तकालय सुविधाओं को हटा दिया गया था> जिनमें सम्मिलित हैं <code>std::uncaught_exception</code>, <code>std::raw_storage_iterator</code>, <code>std::is_literal_type</code>, <code>std::is_literal_type_v</code>, <code>std::result_of</code> और <code>std::result_of_t</code>.


बहिष्कृत विशेषताएं:
बहिष्कृत विशेषताएं:  


* सबस्क्रिप्ट एक्सप्रेशन में कॉमा ऑपरेटर का उपयोग बहिष्कृत कर दिया गया है<ref name="open-std.org"/>
* सबस्क्रिप्ट एक्सप्रेशन में कॉमा ऑपरेटर का उपयोग बहिष्कृत कर दिया गया है<ref name="open-std.org"/>
Line 74: Line 77:




== विधि विशिष्टताओं के रूप में प्रकाशित ==
== विधि विशिष्टताओं के रूप में प्रकाशित ==


* समानता टीएस वी2<ref>{{cite web|url=https://wg21.link/N4793|title=C++ Extensions for Parallelism Version 2|access-date=2019-07-09|archive-date=2022-09-21|archive-url=https://web.archive.org/web/20220921201417/https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4793.pdf|url-status=live}}</ref> (टास्क ब्लॉक सहित<ref>{{cite web|url=http://www.modernescpp.com/index.php/task-blocks|title=Task Blocks|publisher=|access-date=2017-07-23|archive-date=2017-09-19|archive-url=https://web.archive.org/web/20170919141316/http://www.modernescpp.com/index.php/task-blocks|url-status=live}}</ref>)
* समानता टीएस वी2<ref>{{cite web|url=https://wg21.link/N4793|title=C++ Extensions for Parallelism Version 2|access-date=2019-07-09|archive-date=2022-09-21|archive-url=https://web.archive.org/web/20220921201417/https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4793.pdf|url-status=live}}</ref> (टास्क ब्लॉक सहित<ref>{{cite web|url=http://www.modernescpp.com/index.php/task-blocks|title=Task Blocks|publisher=|access-date=2017-07-23|archive-date=2017-09-19|archive-url=https://web.archive.org/web/20170919141316/http://www.modernescpp.com/index.php/task-blocks|url-status=live}}</ref>)
Line 94: Line 97:


पूर्ण समर्थन<ref>{{Cite web |title=C++ compiler support - cppreference.com |url=https://en.cppreference.com/w/cpp/compiler_support |access-date=2022-08-12 |website=en.cppreference.com |archive-date=2022-08-08 |archive-url=https://web.archive.org/web/20220808151657/https://en.cppreference.com/w/cpp/compiler_support |url-status=live }}</ref>
पूर्ण समर्थन<ref>{{Cite web |title=C++ compiler support - cppreference.com |url=https://en.cppreference.com/w/cpp/compiler_support |access-date=2022-08-12 |website=en.cppreference.com |archive-date=2022-08-08 |archive-url=https://web.archive.org/web/20220808151657/https://en.cppreference.com/w/cpp/compiler_support |url-status=live }}</ref>
* माइक्रोसॉफ्ट विजुअल स्टूडियो 2019 इसके माध्यम से सभी सी++20 सुविधाओं का समर्थन करता है। <code>/std:c++latest</code> विकल्प संस्करण 16.10.0 के अनुसार<ref>{{Cite web|last=jawiddis|title=Visual Studio 2019 version 16.10 Release Notes|url=https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-v16.10#16.10.0|access-date=2021-07-13|website=docs.microsoft.com|language=en-us|archive-date=2021-08-11|archive-url=https://web.archive.org/web/20210811215520/https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-v16.10#16.10.0|url-status=live}}</ref> एक विकल्प <code>/std:c++20</code> C++20 मोड को सक्षम करने के लिए संस्करण 16.11.0 में जोड़ा गया है।<ref>{{Cite web|title=MSVC C++20 and the /std:c++20 Switch|url=https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/|access-date=2021-09-07|website=docs.microsoft.com|language=en-us|archive-date=2021-09-06|archive-url=https://web.archive.org/web/20210906151426/https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/|url-status=live}}</ref><ref>{{Citation |title=Visual Studio documentation for Microsoft C++ |date=2022-04-19 |url=https://github.com/MicrosoftDocs/cpp-docs/blob/578dd21279a897661686617375dff80f1eb2f40c/docs/overview/cpp-conformance-improvements.md |publisher=Microsoft Docs |access-date=2022-04-19 |archive-date=2022-04-19 |archive-url=https://web.archive.org/web/20220419161220/https://github.com/MicrosoftDocs/cpp-docs/blob/578dd21279a897661686617375dff80f1eb2f40c/docs/overview/cpp-conformance-improvements.md |url-status=live }}</ref> प्रोजेक्ट गुण → कॉन्फ़िगरेशन गुण → सी/सी ++ → भाषा → सी ++ भाषा मानक।
* माइक्रोसॉफ्ट विजुअल स्टूडियो 2019 इसके माध्यम से सभी सी++20 सुविधाओं का समर्थन करता है। <code>/std:सी++latest</code> विकल्प संस्करण 16.10.0 के अनुसार<ref>{{Cite web|last=jawiddis|title=Visual Studio 2019 version 16.10 Release Notes|url=https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-v16.10#16.10.0|access-date=2021-07-13|website=docs.microsoft.com|language=en-us|archive-date=2021-08-11|archive-url=https://web.archive.org/web/20210811215520/https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-v16.10#16.10.0|url-status=live}}</ref> एक विकल्प <code>/std:सी++20</code> सी++20 मोड को सक्षम करने के लिए संस्करण 16.11.0 में जोड़ा गया है।<ref>{{Cite web|title=MSVC C++20 and the /std:c++20 Switch|url=https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/|access-date=2021-09-07|website=docs.microsoft.com|language=en-us|archive-date=2021-09-06|archive-url=https://web.archive.org/web/20210906151426/https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/|url-status=live}}</ref><ref>{{Citation |title=Visual Studio documentation for Microsoft C++ |date=2022-04-19 |url=https://github.com/MicrosoftDocs/cpp-docs/blob/578dd21279a897661686617375dff80f1eb2f40c/docs/overview/cpp-conformance-improvements.md |publisher=Microsoft Docs |access-date=2022-04-19 |archive-date=2022-04-19 |archive-url=https://web.archive.org/web/20220419161220/https://github.com/MicrosoftDocs/cpp-docs/blob/578dd21279a897661686617375dff80f1eb2f40c/docs/overview/cpp-conformance-improvements.md |url-status=live }}</ref> प्रोजेक्ट गुण → कॉन्फ़िगरेशन गुण → सी/सी ++ → भाषा → सी ++ भाषा मानक।
माइक्रोसॉफ्ट का कंपाइलर सिर्फ विंडोज, लिनक्स (और जैसे एंड्रॉइड और आईओएस) का समर्थन नहीं करता है, जबकि इसके लिए लिनक्स डेवलपमेंट एक्सटेंशन के लिए विज़ुअल सी ++ की आवश्यकता होती है।<ref>{{Cite web |title=Visual Studio 2019 Compatibility |url=https://docs.microsoft.com/en-us/visualstudio/releases/2019/compatibility |access-date=2022-08-12 |website=docs.microsoft.com |language=en-us |archive-date=2020-06-03 |archive-url=https://web.archive.org/web/20200603060110/https://docs.microsoft.com/en-us/visualstudio/releases/2019/compatibility |url-status=live }}</ref>
माइक्रोसॉफ्ट का कंपाइलर केवल विंडोज, लिनक्स (और जैसे एंड्रॉइड और आईओएस) का समर्थन नहीं करता है। किन्तु इसके लिए लिनक्स डेवलपमेंट एक्सटेंशन के लिए विज़ुअल सी ++ की आवश्यकता होती है।<ref>{{Cite web |title=Visual Studio 2019 Compatibility |url=https://docs.microsoft.com/en-us/visualstudio/releases/2019/compatibility |access-date=2022-08-12 |website=docs.microsoft.com |language=en-us |archive-date=2020-06-03 |archive-url=https://web.archive.org/web/20200603060110/https://docs.microsoft.com/en-us/visualstudio/releases/2019/compatibility |url-status=live }}</ref>
आंशिक
* [[बजना]] में कम सी++20 समर्थन है। जिसे विकल्प के साथ सक्षम किया जा सकता है। <code>-std=सी++20</code> (संस्करण 10 और बाद में) या <code>-std=सी++2a</code> (संस्करण 9 और पूर्व)।<ref>{{Cite web |title=Clang - C++ Programming Language Status |url=https://clang.llvm.org/cxx_status.html |access-date=2022-04-19 |website=clang.llvm.org |archive-date=2013-07-04 |archive-url=https://web.archive.org/web/20130704124639/http://clang.llvm.org/cxx_status.html |url-status=live }}</ref>
* [[बजना]] में आंशिक C++20 समर्थन है जिसे विकल्प के साथ सक्षम किया जा सकता है <code>-std=c++20</code> (संस्करण 10 और बाद में) या <code>-std=c++2a</code> (संस्करण 9 और पूर्व)।<ref>{{Cite web |title=Clang - C++ Programming Language Status |url=https://clang.llvm.org/cxx_status.html |access-date=2022-04-19 |website=clang.llvm.org |archive-date=2013-07-04 |archive-url=https://web.archive.org/web/20130704124639/http://clang.llvm.org/cxx_status.html |url-status=live }}</ref>
* [[एडिसन डिजाइन समूह|एडिसन प्रारूप समूह]] ने संस्करण 5.0 में सी++20 सुविधाओं को प्रयुक्त करना प्रारम्भ किया और संस्करण 6.1 के रूप में अधिकांशतः सी++20 कोर भाषा सुविधाओं का समर्थन करता है।<ref>{{Cite web |title=C++ compiler support - cppreference.com |url=https://en.cppreference.com/w/cpp/compiler_support |website=en.cppreference.com |access-date=2020-10-10 |archive-date=2020-10-03 |archive-url=https://web.archive.org/web/20201003141955/https://en.cppreference.com/w/cpp/compiler_support |url-status=live }}</ref>
* [[एडिसन डिजाइन समूह]] ने संस्करण 5.0 में C++20 सुविधाओं को लागू करना शुरू किया और संस्करण 6.1 के रूप में अधिकांश C++20 कोर भाषा सुविधाओं का समर्थन करता है।<ref>{{Cite web |title=C++ compiler support - cppreference.com |url=https://en.cppreference.com/w/cpp/compiler_support |website=en.cppreference.com |access-date=2020-10-10 |archive-date=2020-10-03 |archive-url=https://web.archive.org/web/20201003141955/https://en.cppreference.com/w/cpp/compiler_support |url-status=live }}</ref>
* जीएनयू संकलक संग्रह ने 2017 में आंशिक, प्रयोगात्मक सी++20 समर्थन जोड़ा और<ref>{{Cite web |title=Andrew Sutton - [PATCH] Add -std=c++2a |url=https://gcc.gnu.org/legacy-ml/gcc-patches/2017-07/msg01234.html |access-date=2022-04-19 |website=gcc.gnu.org |archive-date=2021-03-01 |archive-url=https://web.archive.org/web/20210301065559/https://gcc.gnu.org/legacy-ml/gcc-patches/2017-07/msg01234.html |url-status=live }}</ref> विकल्प के माध्यम से संस्करण 8 में <code>-std=सी++2a</code> क्लैंग के अनुसार जीसीसी ने इस विकल्प को <code>-std=सी++20</code> संस्करण 10 में भी जोड़ा। इसमें प्रायोगिक सी++20 समर्थन के अतिरिक्त जीएनयू एक्सटेंशन को सक्षम करने का विकल्प भी है। <code>-std=gnu++20</code>.<ref>{{Cite web |title=C++ Standards Support in GCC - GNU Project |url=https://gcc.gnu.org/projects/cxx-status.html |access-date=2022-04-19 |website=gcc.gnu.org |archive-date=2022-04-20 |archive-url=https://web.archive.org/web/20220420114133/https://gcc.gnu.org/projects/cxx-status.html |url-status=live }}</ref>
* GNU संकलक संग्रह ने 2017 में आंशिक, प्रयोगात्मक C++20 समर्थन जोड़ा<ref>{{Cite web |title=Andrew Sutton - [PATCH] Add -std=c++2a |url=https://gcc.gnu.org/legacy-ml/gcc-patches/2017-07/msg01234.html |access-date=2022-04-19 |website=gcc.gnu.org |archive-date=2021-03-01 |archive-url=https://web.archive.org/web/20210301065559/https://gcc.gnu.org/legacy-ml/gcc-patches/2017-07/msg01234.html |url-status=live }}</ref> विकल्प के माध्यम से संस्करण 8 में <code>-std=c++2a</code>. क्लैंग की तरह, जीसीसी ने इस विकल्प को <code>-std=c++20</code> संस्करण 10 में। इसमें प्रायोगिक C++20 समर्थन के अतिरिक्त GNU एक्सटेंशन को सक्षम करने का विकल्प भी है, <code>-std=gnu++20</code>.<ref>{{Cite web |title=C++ Standards Support in GCC - GNU Project |url=https://gcc.gnu.org/projects/cxx-status.html |access-date=2022-04-19 |website=gcc.gnu.org |archive-date=2022-04-20 |archive-url=https://web.archive.org/web/20220420114133/https://gcc.gnu.org/projects/cxx-status.html |url-status=live }}</ref>




== इतिहास ==
== इतिहास ==


जुलाई 2017 (टोरंटो) में C++20 वर्किंग ड्राफ्ट में लागू किए गए परिवर्तनों में सम्मिलित हैं:<ref>{{cite web|url=https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/|title=Trip report: Summer ISO C++ standards meeting (Toronto)|author=[[Herb Sutter]]|access-date=2017-07-16|archive-date=2017-08-06|archive-url=https://web.archive.org/web/20170806182136/https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/|url-status=live}}</ref>
जुलाई 2017 (टोरंटो) में सी++20 वर्किंग ड्राफ्ट में प्रयुक्त किए गए परिवर्तनों में सम्मिलित हैं:<ref>{{cite web|url=https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/|title=Trip report: Summer ISO C++ standards meeting (Toronto)|author=[[Herb Sutter]]|access-date=2017-07-16|archive-date=2017-08-06|archive-url=https://web.archive.org/web/20170806182136/https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/|url-status=live}}</ref>
* अवधारणाएँ (C++) (जिसने इसे मानक में बनाया वह एक कट-डाउन संस्करण है; इसे कॉन्सेप्ट लाइट के रूप में भी वर्णित किया गया है<ref>{{Cite web |title=Concepts Lite: Constraining Templates with Predicates |url=https://isocpp.org/blog/2013/02/concepts-lite-constraining-templates-with-predicates-andrew-sutton-bjarne-s |website=isocpp.org |date=2013-02-24 |publisher=isocpp.org |author1=Andrew Sutton |author2=Bjarne Stroustrup |access-date=2021-01-13 |archive-date=2021-01-16 |archive-url=https://web.archive.org/web/20210116175846/https://isocpp.org/blog/2013/02/concepts-lite-constraining-templates-with-predicates-andrew-sutton-bjarne-s |url-status=live }}</ref>)
* अवधारणाएँ (सी++) (जिसने इसे मानक में बनाया। वह एक कट-डाउन संस्करण है। इसे कॉन्सेप्ट लाइट के रूप में भी वर्णित किया गया है।<ref>{{Cite web |title=Concepts Lite: Constraining Templates with Predicates |url=https://isocpp.org/blog/2013/02/concepts-lite-constraining-templates-with-predicates-andrew-sutton-bjarne-s |website=isocpp.org |date=2013-02-24 |publisher=isocpp.org |author1=Andrew Sutton |author2=Bjarne Stroustrup |access-date=2021-01-13 |archive-date=2021-01-16 |archive-url=https://web.archive.org/web/20210116175846/https://isocpp.org/blog/2013/02/concepts-lite-constraining-templates-with-predicates-andrew-sutton-bjarne-s |url-status=live }}</ref>)
* नामित प्रारंभकर्ता
* नामक प्रारंभकर्ता
* <code>[=, this]</code> लैम्ब्डा कैप्चर के रूप में
* <code>[=, this]</code> लैम्ब्डा कैप्चर के रूप में
* लैम्ब्डा पर टेम्पलेट पैरामीटर सूची
* लैम्ब्डा पर टेम्पलेट पैरामीटर सूची
* <code>std::make_shared</code> और <code>std::allocate_shared</code> सरणियों के लिए
* <code>std::make_shared</code> और <code>std::allocate_shared</code> सारणियों के लिए


नवंबर 2017 (अल्बुकर्क) में गिरावट की बैठक में सी ++ 20 वर्किंग ड्राफ्ट में लागू किए गए परिवर्तनों में सम्मिलित हैं:<ref>{{cite web|url=https://herbsutter.com/2017/11/11/trip-report-fall-iso-c-standards-meeting-albuquerque/|title=Trip report: Fall ISO C++ standards meeting (Albuquerque)|author=[[Herb Sutter]]|access-date=2017-12-04|archive-date=2019-02-13|archive-url=https://web.archive.org/web/20190213081959/https://herbsutter.com/2017/11/11/trip-report-fall-iso-c-standards-meeting-albuquerque/|url-status=live}}</ref><ref>{{cite web |last1=Smith |first1=Richard |last2=Perchik |first2=Dawn |last3=Köppe |first3=Thomas |title=N4714 Editors' Report -- Programming Languages -- C++ |url=https://github.com/cplusplus/draft/blob/master/papers/n4714.md |website=C++ standards drafts |publisher=[[GitHub]] |accessdate=27 December 2018 |archive-date=21 September 2022 |archive-url=https://web.archive.org/web/20220921201419/https://github.com/cplusplus/draft/blob/main/papers/n4714.md |url-status=live }}</ref>
नवंबर 2017 (अल्बुकर्क) में कमी की बैठक में सी ++ 20 वर्किंग ड्राफ्ट में प्रयुक्त किए गए परिवर्तनों में सम्मिलित हैं:<ref>{{cite web|url=https://herbsutter.com/2017/11/11/trip-report-fall-iso-c-standards-meeting-albuquerque/|title=Trip report: Fall ISO C++ standards meeting (Albuquerque)|author=[[Herb Sutter]]|access-date=2017-12-04|archive-date=2019-02-13|archive-url=https://web.archive.org/web/20190213081959/https://herbsutter.com/2017/11/11/trip-report-fall-iso-c-standards-meeting-albuquerque/|url-status=live}}</ref><ref>{{cite web |last1=Smith |first1=Richard |last2=Perchik |first2=Dawn |last3=Köppe |first3=Thomas |title=N4714 Editors' Report -- Programming Languages -- C++ |url=https://github.com/cplusplus/draft/blob/master/papers/n4714.md |website=C++ standards drafts |publisher=[[GitHub]] |accessdate=27 December 2018 |archive-date=21 September 2022 |archive-url=https://web.archive.org/web/20220921201419/https://github.com/cplusplus/draft/blob/main/papers/n4714.md |url-status=live }}</ref>
* स्पेसशिप ऑपरेटर का उपयोग करके तीन-तरफ़ा तुलना, <code>operator &lt;=&gt;</code>
* स्पेसशिप ऑपरेटर का उपयोग करके तीनों ओर की तुलना, <code>operator &lt;=&gt;</code>
* एक श्रेणी-आधारित के अन्दर एक अतिरिक्त चर का आरंभीकरण <code>for</code> कथन
* एक श्रेणी-आधारित के अन्दर एक अतिरिक्त चर का आरंभीकरण <code>for</code> कथन
* बिना मूल्यांकित संदर्भों में लैम्ब्डा
* बिना मूल्यांकित संदर्भों में लैम्ब्डा
Line 119: Line 121:
* स्ट्रिंग शाब्दिक टेम्पलेट पैरामीटर के रूप में
* स्ट्रिंग शाब्दिक टेम्पलेट पैरामीटर के रूप में
* एटॉमिक स्मार्ट पॉइंटर्स (जैसे <code>std::atomic<shared_ptr<T>></code> और <code>std::atomic<weak_ptr<T>></code>)
* एटॉमिक स्मार्ट पॉइंटर्स (जैसे <code>std::atomic<shared_ptr<T>></code> और <code>std::atomic<weak_ptr<T>></code>)
* <code>std::to_address</code> एक सूचक को कच्चे सूचक में बदलने के लिए
* <code>std::to_address</code> एक सूचक को कच्चे सूचक में परिवर्तितने के लिए


मार्च 2018 (जैक्सनविले) में सी ++ 20 वर्किंग ड्राफ्ट में लागू किए गए परिवर्तनों में सम्मिलित हैं:<ref>{{cite web|url=https://botondballo.wordpress.com/2018/03/28/trip-report-c-standards-meeting-in-jacksonville-march-2018/|title=Trip Report: C++ Standards Meeting in Jacksonville, March 2018|author=Botond Ballo|access-date=2019-05-18|archive-date=2019-05-18|archive-url=https://web.archive.org/web/20190518102815/https://botondballo.wordpress.com/2018/03/28/trip-report-c-standards-meeting-in-jacksonville-march-2018/|url-status=live}}</ref>
मार्च 2018 (जैक्सनविले) में सी ++ 20 वर्किंग ड्राफ्ट में प्रयुक्त किए गए परिवर्तनों में सम्मिलित हैं:<ref>{{cite web|url=https://botondballo.wordpress.com/2018/03/28/trip-report-c-standards-meeting-in-jacksonville-march-2018/|title=Trip Report: C++ Standards Meeting in Jacksonville, March 2018|author=Botond Ballo|access-date=2019-05-18|archive-date=2019-05-18|archive-url=https://web.archive.org/web/20190518102815/https://botondballo.wordpress.com/2018/03/28/trip-report-c-standards-meeting-in-jacksonville-march-2018/|url-status=live}}</ref>
* की आवश्यकता को दूर करना <code>typename</code> कुछ निश्चित परिस्थितियों में
* कुछ निश्चित परिस्थितियों में<code>typename</code>की आवश्यकता को दूर करना ।
* नए मानक गुण <code><nowiki>[[no_unique_address]]</nowiki></code>, <code><nowiki>[[likely]]</nowiki></code> और <code><nowiki>[[unlikely]]</nowiki></code>
* नए मानक गुण <code><nowiki>[[no_unique_address]]</nowiki></code>, <code><nowiki>[[likely]]</nowiki></code> और <code><nowiki>[[unlikely]]</nowiki></code>
* कैलेंडर और समय-क्षेत्र के अतिरिक्त <code><chrono></code>
* कैलेंडर और समय-क्षेत्र के अतिरिक्त <code><chrono></code>
* <code>std::span</code>, एक सन्निहित सरणी के लिए एक दृश्य प्रदान करता है (के अनुरूप <code>std::string_view</code> लेकिन <code>span</code> संदर्भित अनुक्रम को बदल सकते हैं)
* <code>std::span</code> एक सन्निहित सारणी के लिए एक दृश्य प्रदान करता है। (संदर्भित अनुक्रम के अनुरूप <code>std::string_view</code> <code>span</code> को परिवर्तित सकते हैं।)
* <code><version></code> हैडर
* <code><version></code> हैडर


जून 2018 (रैपर्सविल) में ग्रीष्मकालीन बैठक में सी ++ 20 वर्किंग ड्राफ्ट में लागू किए गए परिवर्तनों में सम्मिलित हैं:<ref>{{cite web|url=https://herbsutter.com/2018/07/02/trip-report-summer-iso-c-standards-meeting-rapperswil/|title=Trip report: Summer ISO C++ standards meeting (Rapperswil)|author=[[Herb Sutter]]|access-date=2018-11-10|archive-date=2020-05-23|archive-url=https://web.archive.org/web/20200523083708/https://herbsutter.com/2018/07/02/trip-report-summer-iso-c-standards-meeting-rapperswil/|url-status=live}}</ref>
जून 2018 (रैपर्सविल) में ग्रीष्मकालीन बैठक में सी ++ 20 वर्किंग ड्राफ्ट में प्रयुक्त किए गए परिवर्तनों में सम्मिलित हैं:<ref>{{cite web|url=https://herbsutter.com/2018/07/02/trip-report-summer-iso-c-standards-meeting-rapperswil/|title=Trip report: Summer ISO C++ standards meeting (Rapperswil)|author=[[Herb Sutter]]|access-date=2018-11-10|archive-date=2020-05-23|archive-url=https://web.archive.org/web/20200523083708/https://herbsutter.com/2018/07/02/trip-report-summer-iso-c-standards-meeting-rapperswil/|url-status=live}}</ref>
* <s>अनुबंध</s> (C++20#बाद के मानक के लिए स्थगित)<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0542r5.html|title=Support for contract based programming in C++|website=www.open-std.org|access-date=2018-11-10|archive-date=2020-01-15|archive-url=https://web.archive.org/web/20200115232059/http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0542r5.html|url-status=live}}</ref>
* <s>अनुबंध</s> (सी++20 बाद के मानक के लिए स्थगित)<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0542r5.html|title=Support for contract based programming in C++|website=www.open-std.org|access-date=2018-11-10|archive-date=2020-01-15|archive-url=https://web.archive.org/web/20200115232059/http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0542r5.html|url-status=live}}</ref>
* फीचर टेस्ट मैक्रोज़
* फीचर टेस्ट मैक्रोज़
* वस्तु अभ्यावेदन की बिट-कास्टिंग, से कम वाचालता के साथ <code>memcpy()</code> और कंपाइलर इंटर्नल्स का फायदा उठाने की अधिक क्षमता
* वस्तु अभ्यावेदन की बिट-कास्टिंग से कम वाचालता के साथ <code>memcpy()</code> और कंपाइलर इंटर्नल्स का लाभ लेने की अधिक क्षमता
* सशर्त <code>explicit</code>, स्पष्ट संशोधक को बूलियन अभिव्यक्ति पर आकस्मिक होने की अनुमति देता है
* सशर्त <code>explicit</code>, स्पष्ट संशोधक को बूलियन अभिव्यक्ति पर आकस्मिक होने की अनुमति देता है
* constexpr आभासी कार्य करता है
* विपक्ष आभासी कार्य करता है।


नवंबर 2018 (सैन डिएगो) में गिरावट की बैठक में सी ++ 20 वर्किंग ड्राफ्ट में लागू किए गए परिवर्तनों में सम्मिलित हैं:<ref>[http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/n4715.pdf fall meeting in November 2018]</ref>
नवंबर 2018 (सैन डिएगो) में कमी की बैठक में सी ++ 20 वर्किंग ड्राफ्ट में प्रयुक्त किए गए परिवर्तनों में सम्मिलित हैं:<ref>[http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/n4715.pdf fall meeting in November 2018]</ref>
* पर्वतमाला (एक श्रेणी प्रस्ताव)
* पर्वतमाला (एक श्रेणी प्रस्ताव)
* अवधारणा संक्षिप्त वाक्य रचना
* अवधारणा संक्षिप्त वाक्य रचना
* <code>constexpr</code> <code>union</code>, <code>try</code> और <code>catch</code>, <code>dynamic_cast</code>, <code>typeid</code> और <code>std::pointer_traits</code>.
* <code>constexpr</code> <code>union</code>, <code>try</code> और <code>catch</code>, <code>dynamic_cast</code>, <code>typeid</code> और <code>std::pointer_traits</code>.
* विभिन्न <code>constexpr</code> लाइब्रेरी बिट्स
* विभिन्न <code>constexpr</code> लाइब्रेरी बिट्स
* नए का उपयोग कर तत्काल कार्य करता है <code>consteval</code> कीवर्ड
* <code>consteval</code> कीवर्ड नए का उपयोग कर तत्काल कार्य करता है।
* हस्ताक्षरित पूर्णांक अब दो के पूरक का उपयोग करके दर्शाए जाने के लिए परिभाषित किए गए हैं (हस्ताक्षरित पूर्णांक अतिप्रवाह अपरिभाषित व्यवहार रहता है)
* हस्ताक्षरित पूर्णांक अब दो के पूरक का उपयोग करके दर्शाए जाने के लिए परिभाषित किए गए हैं। (हस्ताक्षरित पूर्णांक अतिप्रवाह अपरिभाषित व्यवहार रहता है)
* <s>अनुबंध सुविधा का परिशोधन (अनुबंध शर्तों में अभिगम नियंत्रण)</s><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1289r0.pdf|title=P1289R0 - Access control in contract conditions|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133631/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1289r0.pdf|url-status=live}}</ref> (सी ++ 20 की सूची देखें # बाद के मानक के लिए स्थगित)
* <s>अनुबंध सुविधा का परिशोधन (अनुबंध शर्तों में अभिगम नियंत्रण)</s><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1289r0.pdf|title=P1289R0 - Access control in contract conditions|access-date=2018-11-11|archive-date=2018-11-11|archive-url=https://web.archive.org/web/20181111133631/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1289r0.pdf|url-status=live}}</ref> (सी ++ 20 की सूची देखें बाद के मानक के लिए स्थगित)
* एक संशोधित स्मृति मॉडल
* एक संशोधित स्मृति मॉडल
* डिफॉल्ट इनिशियलाइज़ेशन के साथ स्मार्ट पॉइंटर क्रिएशन
* डिफॉल्ट इनिशियलाइज़ेशन के साथ स्मार्ट पॉइंटर क्रिएशन


फरवरी 2019 (कोना) में शीतकालीन बैठक में C++20 वर्किंग ड्राफ्ट में लागू किए गए परिवर्तनों में सम्मिलित हैं:<ref>[http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/n4765.pdf winter meeting in February 2019]</ref><ref>{{cite web|url=https://www.reddit.com/r/cpp/comments/au0c4x/201902_kona_iso_c_committee_trip_report_c20/|title=r/cpp - 2019-02 Kona ISO C++ Committee Trip Report (C++20 design is complete; Modules in C++20; Coroutines in C++20; Reflection TS v1 published; work begins on a C++ Ecosystem Technical Report)|website=reddit|language=en|access-date=2019-02-24|archive-date=2019-02-23|archive-url=https://web.archive.org/web/20190223234513/https://www.reddit.com/r/cpp/comments/au0c4x/201902_kona_iso_c_committee_trip_report_c20/|url-status=live}}</ref><ref>{{cite web|url=https://herbsutter.com/2019/02/23/trip-report-winter-iso-c-standards-meeting-kona/|title=Trip report: Winter ISO C++ standards meeting (Kona)|date=2019-02-23|website=Sutter's Mill|language=en|access-date=2019-02-24|archive-date=2019-02-24|archive-url=https://web.archive.org/web/20190224030105/https://herbsutter.com/2019/02/23/trip-report-winter-iso-c-standards-meeting-kona/|url-status=live}}</ref>
फरवरी 2019 (कोना) में शीतकालीन बैठक में सी++20 वर्किंग ड्राफ्ट में प्रयुक्त किए गए परिवर्तनों में सम्मिलित हैं:<ref>[http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/n4765.pdf winter meeting in February 2019]</ref><ref>{{cite web|url=https://www.reddit.com/r/cpp/comments/au0c4x/201902_kona_iso_c_committee_trip_report_c20/|title=r/cpp - 2019-02 Kona ISO C++ Committee Trip Report (C++20 design is complete; Modules in C++20; Coroutines in C++20; Reflection TS v1 published; work begins on a C++ Ecosystem Technical Report)|website=reddit|language=en|access-date=2019-02-24|archive-date=2019-02-23|archive-url=https://web.archive.org/web/20190223234513/https://www.reddit.com/r/cpp/comments/au0c4x/201902_kona_iso_c_committee_trip_report_c20/|url-status=live}}</ref><ref>{{cite web|url=https://herbsutter.com/2019/02/23/trip-report-winter-iso-c-standards-meeting-kona/|title=Trip report: Winter ISO C++ standards meeting (Kona)|date=2019-02-23|website=Sutter's Mill|language=en|access-date=2019-02-24|archive-date=2019-02-24|archive-url=https://web.archive.org/web/20190224030105/https://herbsutter.com/2019/02/23/trip-report-winter-iso-c-standards-meeting-kona/|url-status=live}}</ref>
* कोरआउटिन
* कोरआउटिन
* मॉड्यूलर प्रोग्रामिंग
* मॉड्यूलर प्रोग्रामिंग
* संरचित बाइंडिंग में विभिन्न सुधार (लैम्ब्डा कैप्चर के साथ सहभागिता, <code>static</code> और <code>thread_local</code> भंडारण अवधि)
* संरचित बाइंडिंग में विभिन्न सुधार (लैम्ब्डा कैप्चर के साथ सहभागिता, <code>static</code> और <code>thread_local</code> भंडारण अवधि)


जुलाई 2019 (कोलोन) में ग्रीष्मकालीन बैठक में C++20 वर्किंग ड्राफ्ट में लागू किए गए परिवर्तनों में सम्मिलित हैं:<ref>{{Cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4783.pdf|title=summer meeting in July 2019}}</ref><ref>{{cite web|url=https://www.reddit.com/r/cpp/comments/cfk9de/201907_cologne_iso_c_committee_trip_report_the/|title=r/cpp - 2019-07 Cologne ISO C++ Committee Trip Report — 🚀 The C++20 Eagle has Landed 🚀 (C++20 Committee Draft shipped; Contracts Moved From C++20 to a Study Group; 'std::format' in C++20; C++20 Synchronization Library)|website=reddit|language=en|access-date=2019-09-15|archive-date=2020-04-20|archive-url=https://web.archive.org/web/20200420142050/https://www.reddit.com/r/cpp/comments/cfk9de/201907_cologne_iso_c_committee_trip_report_the/|url-status=live}}<