सी ++ 20: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(8 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 104: Line 107:


जुलाई 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>
जुलाई 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>
* अवधारणाएँ (सी++) (जिसने इसे मानक में बनाया वह एक कट-डाउन संस्करण है; इसे कॉन्सेप्ट लाइट के रूप में भी वर्णित किया गया है<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 118: 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> (सी++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 की सूची देखें बाद के मानक के लिए स्थगित)
* एक संशोधित स्मृति मॉडल
* एक संशोधित स्मृति मॉडल
* डिफॉल्ट इनिशियलाइज़ेशन के साथ स्मार्ट पॉइंटर क्रिएशन
* डिफॉल्ट इनिशियलाइज़ेशन के साथ स्मार्ट पॉइंटर क्रिएशन
Line 151: Line 154:


जुलाई 2019 (कोलोन) में ग्रीष्मकालीन बैठक में सी++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}}</ref><ref>{{cite web|url=https://botondballo.wordpress.com/2019/07/26/trip-report-c-standards-meeting-in-cologne-july-2019/|title=Trip Report: C++ Standards Meeting in Cologne, July 2019|author=Botond Ballo|access-date=2019-08-05|archive-date=2020-02-26|archive-url=https://web.archive.org/web/20200226062236/https://botondballo.wordpress.com/2019/07/26/trip-report-c-standards-meeting-in-cologne-july-2019/|url-status=live}}</ref><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|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>
जुलाई 2019 (कोलोन) में ग्रीष्मकालीन बैठक में सी++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}}</ref><ref>{{cite web|url=https://botondballo.wordpress.com/2019/07/26/trip-report-c-standards-meeting-in-cologne-july-2019/|title=Trip Report: C++ Standards Meeting in Cologne, July 2019|author=Botond Ballo|access-date=2019-08-05|archive-date=2020-02-26|archive-url=https://web.archive.org/web/20200226062236/https://botondballo.wordpress.com/2019/07/26/trip-report-c-standards-meeting-in-cologne-july-2019/|url-status=live}}</ref><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|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>
* अनुबंध हटा दिए गए थे (सी ++ 20 की सूची देखें # बाद के मानक के लिए स्थगित)<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1823r0.pdf|title=P1823R0: Remove Contracts from C++20|last=Josuttis|first=Nicolai|access-date=2019-08-20|archive-date=2020-08-13|archive-url=https://web.archive.org/web/20200813202348/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1823r0.pdf|url-status=live}}</ref>
* अनुबंध हटा दिए गए थे (सी ++ 20 की सूची देखें बाद के मानक के लिए स्थगित)<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1823r0.pdf|title=P1823R0: Remove Contracts from C++20|last=Josuttis|first=Nicolai|access-date=2019-08-20|archive-date=2020-08-13|archive-url=https://web.archive.org/web/20200813202348/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1823r0.pdf|url-status=live}}</ref>
* सबस्क्रिप्ट एक्सप्रेशंस में कॉमा ऑपरेटर का उपयोग बहिष्कृत कर दिया गया है<ref name="open-std.org">{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1161r2.html|title=P1161R2: Deprecate uses of the comma operator in subscripting expressions|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-07-20|archive-url=https://web.archive.org/web/20190720101000/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1161r2.html|url-status=live}}</ref>
* सबस्क्रिप्ट एक्सप्रेशंस में कॉमा ऑपरेटर का उपयोग बहिष्कृत कर दिया गया है<ref name="open-std.org">{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1161r2.html|title=P1161R2: Deprecate uses of the comma operator in subscripting expressions|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-07-20|archive-url=https://web.archive.org/web/20190720101000/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1161r2.html|url-status=live}}</ref>
* <code>constexpr</code> अतिरिक्त (तुच्छ डिफ़ॉल्ट प्रारंभिकरण,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1331r1.pdf|title=Permitting trivial default initialization in constexpr contexts|access-date=2019-07-20|archive-date=2020-10-19|archive-url=https://web.archive.org/web/20201019233314/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1331r1.pdf|url-status=live}}</ref> अमूल्यांकित इनलाइन-असेंबली<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1668r1.html|title=P1668R1: Enabling Constexpr Intrinsics By Permitting Unevaluated inline-asm in Constexpr Functions|website=www.open-std.org|access-date=2019-07-20|archive-date=2020-01-19|archive-url=https://web.archive.org/web/20200119114611/http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1668r1.html|url-status=live}}</ref>)
* <code>constexpr</code> अतिरिक्त (तुच्छ डिफ़ॉल्ट प्रारंभिकरण,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1331r1.pdf|title=Permitting trivial default initialization in constexpr contexts|access-date=2019-07-20|archive-date=2020-10-19|archive-url=https://web.archive.org/web/20201019233314/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1331r1.pdf|url-status=live}}</ref> अमूल्यांकित इनलाइन-असेंबली<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1668r1.html|title=P1668R1: Enabling Constexpr Intrinsics By Permitting Unevaluated inline-asm in Constexpr Functions|website=www.open-std.org|access-date=2019-07-20|archive-date=2020-01-19|archive-url=https://web.archive.org/web/20200119114611/http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1668r1.html|url-status=live}}</ref>)
* दायरे का उपयोग करना <code>enum</code>s<ref name="P1099R5: Using Enum">{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1099r5.html|title=P1099R5: Using Enum|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001959/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1099r5.html|url-status=live}}</ref>
* दायरे का उपयोग करना <code>enum</code>s<ref name="P1099R5: Using Enum">{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1099r5.html|title=P1099R5: Using Enum|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001959/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1099r5.html|url-status=live}}</ref>
* स्पेसशिप ऑपरेटर में विभिन्न परिवर्तन<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1186r3.html|title=P1186R3: When do you actually use <=>?|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001956/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1186r3.html|url-status=live}}</ref><ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1630r1.html|title=P1630R1: Spaceship needs a tune-up|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001956/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1630r1.html|url-status=live}}</ref>
* स्पेसशिप ऑपरेटर में विभिन्न परिवर्तन<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1186r3.html|title=P1186R3: When do you actually use <=>?|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001956/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1186r3.html|url-status=live}}</ref><ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1630r1.html|title=P1630R1: Spaceship needs a tune-up|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001956/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1630r1.html|url-status=live}}</ref>
* डॉ: मॉड्यूल में मामूली बदलाव<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1766r1.html|title=P1766R1: Mitigating minor modules maladies|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820002001/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1766r1.html|url-status=live}}</ref>
* डॉ: मॉड्यूल में न्यूनतम परिवर्तिताव<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1766r1.html|title=P1766R1: Mitigating minor modules maladies|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820002001/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1766r1.html|url-status=live}}</ref>
* <code>constinit</code> कीवर्ड
* <code>constinit</code> कीवर्ड
* अवधारणाओं में परिवर्तन (निकालना <code>-> Type</code> वापसी-प्रकार-आवश्यकताएं<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1452r2.html|title=P1452R2: On the non-uniform semantics of return-type-requirements|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001954/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1452r2.html|url-status=live}}</ref>)
* अवधारणाओं में परिवर्तन (निकालना <code>-> Type</code> वापसी-प्रकार-आवश्यकताएं<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1452r2.html|title=P1452R2: On the non-uniform semantics of return-type-requirements|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001954/http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1452r2.html|url-status=live}}</ref>)
* (के सबसे) <code>[[Volatile (computer programming)|volatile]]</code> बहिष्कृत किया गया है<ref name="volatile">{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1152r3.html|title=P1152R4: Deprecating volatile|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-06-23|archive-url=https://web.archive.org/web/20190623042109/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1152r3.html|url-status=live}}</ref>
* (के सबसे) <code>[[Volatile (computer programming)|volatile]]</code> बहिष्कृत किया गया है<ref name="volatile">{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1152r3.html|title=P1152R4: Deprecating volatile|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-06-23|archive-url=https://web.archive.org/web/20190623042109/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1152r3.html|url-status=live}}</ref>
* डॉ: <code><nowiki>[[nodiscard]]</nowiki></code> निर्माणकर्ताओं पर प्रभाव<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1771r1.pdf|title=P1771R1: nodiscard for constructors|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2022-09-21|archive-url=https://web.archive.org/web/20220921201418/https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1771r1.pdf|url-status=live}}</ref>
* डॉ: <code><nowiki>[[nodiscard]]</nowiki></code> निर्माणकर्ताओं पर प्रभाव<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1771r1.pdf|title=P1771R1: nodiscard for constructors|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2022-09-21|archive-url=https://web.archive.org/web/20220921201418/https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1771r1.pdf|url-status=live}}</ref>
* नई मानक पुस्तकालय अवधारणाएँ [[PascalCase]] का उपयोग नहीं करेंगी (बल्कि <code>standard_case</code>, बाकी मानक पुस्तकालय के रूप में)<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1754r1.pdf|title=P1754R1: Rename concepts to standard_case for C++20, while we still can|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001957/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1754r1.pdf|url-status=live}}</ref>
* नई मानक पुस्तकालय अवधारणाएँ [[PascalCase|पास्कलकेस]] का उपयोग नहीं करेंगी (किन्तु <code>standard_case</code> शेष मानक पुस्तकालय के रूप में)<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1754r1.pdf|title=P1754R1: Rename concepts to standard_case for C++20, while we still can|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001957/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1754r1.pdf|url-status=live}}</ref>
* पाठ स्वरूपण<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html|title=P0645R10: Text Formatting|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820002001/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html|url-status=live}}</ref><ref>{{cite web|url=http://www.zverovich.net/2019/07/23/std-format-cpp20.html|title=std::format in C++20|date=2019-07-23|website=www.zverovich.net|access-date=2019-09-15|archive-date=2019-07-23|archive-url=https://web.archive.org/web/20190723193126/http://www.zverovich.net/2019/07/23/std-format-cpp20.html|url-status=live}}</ref> (<code>chrono</code> एकीकरण,<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1361r2.pdf|title=P1361R2: Integration of chrono with text formatting|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820002000/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1361r2.pdf|url-status=live}}</ref> कोने का मामला ठीक करता है<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1652r1.html|title=P1652R1: Printf corner cases in std::format|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001955/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1652r1.html|url-status=live}}</ref>)
* पाठ स्वरूपण<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html|title=P0645R10: Text Formatting|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820002001/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html|url-status=live}}</ref><ref>{{cite web|url=http://www.zverovich.net/2019/07/23/std-format-cpp20.html|title=std::format in C++20|date=2019-07-23|website=www.zverovich.net|access-date=2019-09-15|archive-date=2019-07-23|archive-url=https://web.archive.org/web/20190723193126/http://www.zverovich.net/2019/07/23/std-format-cpp20.html|url-status=live}}</ref> (<code>chrono</code> एकीकर<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1361r2.pdf|title=P1361R2: Integration of chrono with text formatting|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820002000/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1361r2.pdf|url-status=live}}</ref> कोने की स्थिति सही करता है।<ref>{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1652r1.html|title=P1652R1: Printf corner cases in std::format|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-08-20|archive-url=https://web.archive.org/web/20190820001955/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1652r1.html|url-status=live}}</ref>)
* बिट ऑपरेशंस<ref name="P0553R4: Bit operations">{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0553r4.html|title=P0553R4: Bit operations|date=2019-07-20|website=www.open-std.org|access-date=2019-07-20|archive-date=2019-07-20|archive-url=https://web.archive.org/web/20190720101004/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0553r4.html|url-status=live}}</ref>