सी ++ 20: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(12 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 48: Line 51:
* विभिन्न कॉन्स्टेक्स लाइब्रेरी बिट्स<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1032r1.html|title=P1032R1 - Misc constexpr bits|access-date=2018-11-11|archive-date=2018-10-26|archive-url=https://web.archive.org/web/20181026124238/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1032r1.html|url-status=live}}</ref>
* विभिन्न कॉन्स्टेक्स लाइब्रेरी बिट्स<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1032r1.html|title=P1032R1 - Misc constexpr bits|access-date=2018-11-11|archive-date=2018-10-26|archive-url=https://web.archive.org/web/20181026124238/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1032r1.html|url-status=live}}</ref>
* डिफॉल्ट इनिशियलाइज़ेशन के साथ स्मार्ट पॉइंटर क्रिएशन<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1020r1.html|title=Smart pointer creation with default initialization|access-date=2020-02-12|archive-date=2019-01-26|archive-url=https://web.archive.org/web/20190126111714/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1020r1.html|url-status=live}}</ref>
* डिफॉल्ट इनिशियलाइज़ेशन के साथ स्मार्ट पॉइंटर क्रिएशन<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1020r1.html|title=Smart pointer creation with default initialization|access-date=2020-02-12|archive-date=2019-01-26|archive-url=https://web.archive.org/web/20190126111714/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1020r1.html|url-status=live}}</ref>
* <code>contains</code>सहयोगी कंटेनरों के लिए -विधि<ref>{{Cite web|title=P0458R2: Checking for Existence of an Element in Associative Containers|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0458r2.html|author1=Mikhail Maltsev|access-date=2022-01-02|archive-date=2022-01-16|archive-url=https://web.archive.org/web/20220116211430/https://www9.open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0458r2.html|url-status=live}}</ref>
* <code>contains</code>सहयोगी कंटेनरों के लिए विधि<ref>{{Cite web|title=P0458R2: Checking for Existence of an Element in Associative Containers|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0458r2.html|author1=Mikhail Maltsev|access-date=2022-01-02|archive-date=2022-01-16|archive-url=https://web.archive.org/web/20220116211430/https://www9.open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0458r2.html|url-status=live}}</ref>
* बिट ऑपरेशंस, जैसे लीडिंग/ट्रेलिंग ज़ीरो/वन काउंट,<ref name="P0553R4: Bit operations"/>और लॉग 2 ऑपरेशंस<ref>{{cite web|url=https://wg21.link/p0556r3|title=P0556R3: Integral power-of-2 operations|date=2018-06-06|website=www.open-std.org|access-date=2020-08-08|archive-date=2019-06-26|archive-url=https://web.archive.org/web/20190626184254/https://wg21.link/p0556r3|url-status=live}}</ref><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1355r2.html|title=P1355R2 Exposing a narrow contract for ceil2|date=2019-06-11|website=www.open-std.org|access-date=2020-08-08|archive-date=2019-08-05|archive-url=https://web.archive.org/web/20190805104347/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1355r2.html|url-status=live}}</ref><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1956r1.pdf|title=On the names of low-level bit manipulation functions|date=2020-02-11|website=www.open-std.org|access-date=2020-08-08|archive-date=2020-03-24|archive-url=https://web.archive.org/web/20200324173059/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1956r1.pdf|url-status=live}}</ref>
* बिट ऑपरेशंस जैसे लीडिंग/ट्रेलिंग ज़ीरो/वन काउंट<ref name="P0553R4: Bit operations"/>और लॉग 2 ऑपरेशंस<ref>{{cite web|url=https://wg21.link/p0556r3|title=P0556R3: Integral power-of-2 operations|date=2018-06-06|website=www.open-std.org|access-date=2020-08-08|archive-date=2019-06-26|archive-url=https://web.archive.org/web/20190626184254/https://wg21.link/p0556r3|url-status=live}}</ref><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1355r2.html|title=P1355R2 Exposing a narrow contract for ceil2|date=2019-06-11|website=www.open-std.org|access-date=2020-08-08|archive-date=2019-08-05|archive-url=https://web.archive.org/web/20190805104347/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1355r2.html|url-status=live}}</ref><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1956r1.pdf|title=On the names of low-level bit manipulation functions|date=2020-02-11|website=www.open-std.org|access-date=2020-08-08|archive-date=2020-03-24|archive-url=https://web.archive.org/web/20200324173059/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1956r1.pdf|url-status=live}}</ref>
* <code>std::bind_front</code><ref>{{Cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0356r3.html|title=Simplified partial function application|author=Tomasz Kamiński|date=2017-11-09|access-date=2020-11-08|archive-date=2020-09-28|archive-url=https://web.archive.org/web/20200928182706/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0356r3.html|url-status=live}}</ref>
* <code>std::bind_front</code><ref>{{Cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0356r3.html|title=Simplified partial function application|author=Tomasz Kamiński|date=2017-11-09|access-date=2020-11-08|archive-date=2020-09-28|archive-url=https://web.archive.org/web/20200928182706/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0356r3.html|url-status=live}}</ref>


Line 55: Line 58:
=== नए और परिवर्तित कीवर्ड्स ===
=== नए और परिवर्तित कीवर्ड्स ===


कई नए कीवर्ड जोड़े गए (और नया स्पेसशिप ऑपरेटर, <code>operator &lt;=&gt;</code>), जैसे कि <code>concept</code>, <code>constinit</code>,<ref name="constinit"/> <code>consteval</code>, <code>co_await</code>, <code>co_return</code>, <code>co_yield</code>, <code>requires</code> (प्लस के लिए परिवर्तित अर्थ <code>export</code>), और <code>char8_t</code> ([[UTF-8]] समर्थन के लिए)<ref>{{cite web|url=https://en.cppreference.com/w/cpp/keyword|title=C++ keywords - cppreference.com|website=en.cppreference.com|access-date=2019-08-04|archive-date=2012-03-19|archive-url=https://web.archive.org/web/20120319210634/https://en.cppreference.com/w/cpp/keyword|url-status=live}}</ref> और <code>explicit</code> सी ++ 20 के बाद से अभिव्यक्ति ले सकता है।<ref>{{cite web|url=https://en.cppreference.com/w/cpp/language/explicit|title=explicit specifier - cppreference.com|website=en.cppreference.com|access-date=2019-08-04|archive-date=2012-02-21|archive-url=https://web.archive.org/web/20120221163715/https://en.cppreference.com/w/cpp/language/explicit|url-status=live}}</ref> के अधिकांश उपयोग <code>[[Volatile (computer programming)|volatile]]</code> कीवर्ड बहिष्कृत कर दिया गया है।<ref name="volatile"/>
कई नए कीवर्ड जोड़े गए और नया स्पेसशिप ऑपरेटर <code>operator &lt;=&gt;</code>) जैसे कि <code>concept</code>, <code>constinit</code>,<ref name="constinit"/> <code>consteval</code>, <code>co_await</code>, <code>co_return</code>, <code>co_yield</code>, <code>requires</code> (प्लस के लिए परिवर्तित अर्थ <code>export</code>) और <code>char8_t</code> ([[UTF-8|यूटीएफ-8]] समर्थन के लिए)<ref>{{cite web|url=https://en.cppreference.com/w/cpp/keyword|title=C++ keywords - cppreference.com|website=en.cppreference.com|access-date=2019-08-04|archive-date=2012-03-19|archive-url=https://web.archive.org/web/20120319210634/https://en.cppreference.com/w/cpp/keyword|url-status=live}}</ref> और <code>explicit</code> सी ++ 20 के बाद से अभिव्यक्ति को ग्रहण कर सकता है।<ref>{{cite web|url=https://en.cppreference.com/w/cpp/language/explicit|title=explicit specifier - cppreference.com|website=en.cppreference.com|access-date=2019-08-04|archive-date=2012-02-21|archive-url=https://web.archive.org/web/20120221163715/https://en.cppreference.com/w/cpp/language/explicit|url-status=live}}</ref> इसके अधिकांश उपयोग <code>[[Volatile (computer programming)|volatile]]</code> कीवर्ड को बहिष्कृत कर दिया गया है।<ref name="volatile"/>
 
खोजशब्दों के अतिरिक्त नए विशेष अर्थ वाले पहचानकर्ता भी हैं। <code>import</code> और <code>module</code>. सी ++ 20 में नई विशेषताएँ:<code><nowiki>[[likely]]</nowiki></code>, <code><nowiki>[[unlikely]]</nowiki></code>, और <code><nowiki>[[no_unique_address]]</nowiki></code><ref>{{cite web|url=https://en.cppreference.com/w/cpp/language/attributes|title=attribute specifier sequence(since C++11) - cppreference.com|website=en.cppreference.com|access-date=2019-08-04|archive-date=2012-07-05|archive-url=https://web.archive.org/web/20120705235229/https://en.cppreference.com/w/cpp/language/attributes|url-status=live}}</ref> हैं।


खोजशब्दों के अलावा, नए सहित विशेष अर्थ वाले पहचानकर्ता भी हैं <code>import</code> और <code>module</code>.<!-- and transaction_safe (TM TS), transaction_safe_dynamic (TM TS), override (C++11), final (C++11) -->
सी ++ 20 में नई विशेषताएँ:
<code><nowiki>[[likely]]</nowiki></code>, <code><nowiki>[[unlikely]]</nowiki></code>, <!-- indicates that the compiler should optimize for the case where a path of execution through a statement is more or less likely than any other path of execution --> और <code><nowiki>[[no_unique_address]]</nowiki></code><ref>{{cite web|url=https://en.cppreference.com/w/cpp/language/attributes|title=attribute specifier sequence(since C++11) - cppreference.com|website=en.cppreference.com|access-date=2019-08-04|archive-date=2012-07-05|archive-url=https://web.archive.org/web/20120705235229/https://en.cppreference.com/w/cpp/language/attributes|url-status=live}}</ref>
<!-- indicates that a non-static data member need not have an address distinct from all other non-static data members of its class
[[optimize for synchronized]](TM TS) -->




=== हटा दिया गया और हटा दिया गया ===
=== हटाया और पदावनत किया ===


हटाई गई विशेषताएं:<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> हटा दिए गए, क्योंकि वे C++ में कोई उद्देश्य पूरा नहीं करते। (इसी <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"/>* (के सबसे) <code>[[Volatile (computer programming)|volatile]]</code> बहिष्कृत किया गया है<ref name="volatile"/>
* सबस्क्रिप्ट एक्सप्रेशन में कॉमा ऑपरेटर का उपयोग बहिष्कृत कर दिया गया है<ref name="open-std.org"/>
*<code>[[Volatile (computer programming)|volatile]]</code> को बहिष्कृत किया गया है।<ref name="volatile" />




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


* समानता टीएस v2<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>)
* प्रतिबिंब टीएस v1<ref>{{cite web|url=https://wg21.link/N4818|title=C++ Extensions for Reflection|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/2019/n4818.pdf|url-status=live}}</ref>
* प्रतिबिंब टीएस वी1<ref>{{cite web|url=https://wg21.link/N4818|title=C++ Extensions for Reflection|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/2019/n4818.pdf|url-status=live}}</ref>
* नेटवर्किंग टीएस v1<ref>{{cite web|url=https://wg21.link/N4711|title=C++ Extensions for Networking|access-date=2019-07-09|archive-date=2022-09-21|archive-url=https://web.archive.org/web/20220921201418/https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4711.pdf|url-status=live}}</ref>
* नेटवर्किंग टीएस वी1<ref>{{cite web|url=https://wg21.link/N4711|title=C++ Extensions for Networking|access-date=2019-07-09|archive-date=2022-09-21|archive-url=https://web.archive.org/web/20220921201418/https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4711.pdf|url-status=live}}</ref>


बाद के मानक के लिए स्थगित


== बाद के मानक == के लिए स्थगित
* '''अनुबंध''' एक नए प्रस्ताव पर काम करने के लिए एक नया अध्ययन समूह (एसजी21) बनाया गया है।<ref>{{cite web|url=https://herbsutter.com/2019/07/20/trip-report-summer-iso-c-standards-meeting-cologne/|title=Trip report: Summer ISO C++ standards meeting (Cologne)|last=Sutter|first=Herb|date=2019-07-20|website=Sutter's Mill|language=en|access-date=2019-07-21|archive-date=2020-04-17|archive-url=https://web.archive.org/web/20200417181512/https://herbsutter.com/2019/07/20/trip-report-summer-iso-c-standards-meeting-cologne/|url-status=live}}</ref>
 
* ठेके{{snd}} एक नए प्रस्ताव पर काम करने के लिए एक नया अध्ययन समूह (SG21) बनाया गया है<ref>{{cite web|url=https://herbsutter.com/2019/07/20/trip-report-summer-iso-c-standards-meeting-cologne/|title=Trip report: Summer ISO C++ standards meeting (Cologne)|last=Sutter|first=Herb|date=2019-07-20|website=Sutter's Mill|language=en|access-date=2019-07-21|archive-date=2020-04-17|archive-url=https://web.archive.org/web/20200417181512/https://herbsutter.com/2019/07/20/trip-report-summer-iso-c-standards-meeting-cologne/|url-status=live}}</ref>
* प्रतिबिंब<ref>{{cite web|url=https://meetingcpp.com/index.php/br/items/reflections-on-the-reflection-proposals.html|title=Reflections on the reflection proposals - Meeting C++|website=meetingcpp.com|language=en|access-date=2017-06-30|archive-date=2017-06-23|archive-url=https://web.archive.org/web/20170623034739/http://meetingcpp.com/index.php/br/items/reflections-on-the-reflection-proposals.html|url-status=live}}</ref><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0194r6.html|title=Static reflection|website=www.open-std.org|access-date=2018-11-10|archive-date=2020-02-22|archive-url=https://web.archive.org/web/20200222002039/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0194r6.html|url-status=live}}</ref>
* प्रतिबिंब<ref>{{cite web|url=https://meetingcpp.com/index.php/br/items/reflections-on-the-reflection-proposals.html|title=Reflections on the reflection proposals - Meeting C++|website=meetingcpp.com|language=en|access-date=2017-06-30|archive-date=2017-06-23|archive-url=https://web.archive.org/web/20170623034739/http://meetingcpp.com/index.php/br/items/reflections-on-the-reflection-proposals.html|url-status=live}}</ref><ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0194r6.html|title=Static reflection|website=www.open-std.org|access-date=2018-11-10|archive-date=2020-02-22|archive-url=https://web.archive.org/web/20200222002039/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0194r6.html|url-status=live}}</ref>
* [[मेटाक्लास]]<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0707r0.pdf|title=मेटाक्लासेस|author=[[Herb Sutter]]|access-date=2017-07-23|archive-date=2020-11-11|archive-url=https://web.archive.org/web/20201111204111/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0707r0.pdf|url-status=live}}</ref>
* [[मेटाक्लास]]<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0707r0.pdf|title=मेटाक्लासेस|author=[[Herb Sutter]]|access-date=2017-07-23|archive-date=2020-11-11|archive-url=https://web.archive.org/web/20201111204111/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0707r0.pdf|url-status=live}}</ref>
* निष्पादक<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0443r10.html|title=A Unified Executors Proposal for C++|website=www.open-std.org|access-date=2019-02-24|archive-date=2020-02-20|archive-url=https://web.archive.org/web/20200220055757/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0443r10.html|url-status=live}}</ref>
* निष्पादक<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0443r10.html|title=A Unified Executors Proposal for C++|website=www.open-std.org|access-date=2019-02-24|archive-date=2020-02-20|archive-url=https://web.archive.org/web/20200220055757/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0443r10.html|url-status=live}}</ref>
* नेटवर्किंग एक्सटेंशन,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4771.pdf|title=N4771: Working Draft, C++ Extensions for Networking|publisher=|access-date=2019-03-23|archive-date=2020-04-19|archive-url=https://web.archive.org/web/20200419011113/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4771.pdf|url-status=live}}</ref><ref>{{cite web|url=https://www.iso.org/standard/64030.html|title=ISO/IEC TS 19216:2018 Programming Languages -- C++ Extensions for Networking|publisher=|access-date=2018-12-17|archive-date=2019-01-15|archive-url=https://web.archive.org/web/20190115201923/https://www.iso.org/standard/64030.html|url-status=live}}</ref> async, बुनियादी I/O सेवाओं, टाइमर, बफ़र्स और बफर-ओरिएंटेड स्ट्रीम, सॉकेट्स और इंटरनेट प्रोटोकॉल (निष्पादकों द्वारा अवरुद्ध) सहित
* नेटवर्किंग एक्सटेंशन,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4771.pdf|title=N4771: Working Draft, C++ Extensions for Networking|publisher=|access-date=2019-03-23|archive-date=2020-04-19|archive-url=https://web.archive.org/web/20200419011113/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4771.pdf|url-status=live}}</ref><ref>{{cite web|url=https://www.iso.org/standard/64030.html|title=ISO/IEC TS 19216:2018 Programming Languages -- C++ Extensions for Networking|publisher=|access-date=2018-12-17|archive-date=2019-01-15|archive-url=https://web.archive.org/web/20190115201923/https://www.iso.org/standard/64030.html|url-status=live}}</ref> एसिन, मूलभूत आई/सेवाओं, टाइमर, बफ़र्स और बफर-ओरिएंटेड स्ट्रीम, सॉकेट्स और इंटरनेट प्रोटोकॉल (निष्पादकों द्वारा अवरुद्ध) सहित।
* गुण<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1393r0.html|title=A General Property Customization Mechanism|website=www.open-std.org|access-date=2019-02-24|archive-date=2020-01-19|archive-url=https://web.archive.org/web/20200119114436/http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1393r0.html|url-status=live}}</ref>
* गुण<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1393r0.html|title=A General Property Customization Mechanism|website=www.open-std.org|access-date=2019-02-24|archive-date=2020-01-19|archive-url=https://web.archive.org/web/20200119114436/http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1393r0.html|url-status=live}}</ref>
* विस्तारित वायदा<ref>{{cite web|url=https://wg21.link/P1054|title=A Unified Futures Proposal for C++|access-date=2019-07-08|archive-date=2022-09-21|archive-url=https://web.archive.org/web/20220921201420/https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1054r0.html|url-status=live}}</ref>
* विस्तारित प्रतिज्ञा<ref>{{cite web|url=https://wg21.link/P1054|title=A Unified Futures Proposal for C++|access-date=2019-07-08|archive-date=2022-09-21|archive-url=https://web.archive.org/web/20220921201420/https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1054r0.html|url-status=live}}</ref>




Line 97: 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>
* Microsoft Visual Studio#2019 इसके माध्यम से सभी C++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>
<!-- "Visual Studio 2019 enables you to build and debug apps for Linux using C++, Python, and Node.js. Creating C++ apps for Linux requires the Visual C++ for Linux Development extension." -->
* [[बजना]] में कम सी++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>
माइक्रोसॉफ्ट का कंपाइलर सिर्फ विंडोज, लिनक्स (और जैसे एंड्रॉइड और आईओएस) का समर्थन नहीं करता है, जबकि इसके लिए लिनक्स डेवलपमेंट एक्सटेंशन के लिए विज़ुअल सी ++ की आवश्यकता होती है।<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>
* [[एडिसन डिजाइन समूह|एडिसन प्रारूप समूह]] ने संस्करण 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>
आंशिक
* जीएनयू संकलक संग्रह ने 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>
* [[बजना]] में आंशिक 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 में 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>
* 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>)
*