海马炖什么好小孩长高| 投射效应是什么意思| 病理会诊是什么意思| 破窗效应是什么意思| 人为什么会长智齿| 行长是什么级别| 什么叫飘窗| 胃胀气是什么原因引起的| 10月7号是什么星座| 死了妻子的男人叫什么| 黄历冲生肖是什么意思| 手术室为什么在三楼| 胆固醇高吃什么药| 杨梅酒喝了有什么好处和功效| 眼睛流泪用什么药| 国老是什么中药| fish是什么意思| 老豆腐和嫩豆腐有什么区别| 入职是什么意思| 检查膀胱挂什么科| 白莲花是什么意思| 尿淀粉酶高是什么原因| 社科院是干什么的| 血糖高不能吃什么食物| 喝豆腐脑有什么好处和坏处| 容易饿是什么原因| 膀胱不充盈什么意思| 睡美人叫什么名字| 皮脂腺囊肿看什么科| 社保断交有什么影响| 红糖和黑糖有什么区别| 尚书是什么官职| 反清复明的组织叫什么| 大姨妈每个月提前来是什么原因| 比干是什么神| uranus是什么星球| 什么叫精索静脉曲张啊| 河字五行属什么| 同型半胱氨酸高吃什么药| 梦见和尚是什么预兆| 肝不好吃什么中成药| 吲达帕胺片是什么药| 为什么瘦不下来| 夫妻肺片是什么肉| 牙龈发紫是什么原因| 女人左下巴有痣代表什么| 实时更新是什么意思| 决堤是什么意思| eso是什么意思| 带状疱疹一般长在什么地方| 调兵遣将是什么生肖| 孩子疱疹性咽峡炎吃什么药| 拜阿司匹林什么时间吃最好| fmc是什么意思| 整天放屁是什么原因| 睚眦是什么意思| 环切手术是什么| 梅花象征着什么| 压床是什么意思| 杨柳是什么生肖| 直肠下垂有什么症状| 斐然是什么意思| 葛根粉吃了有什么作用| 晴雨伞是什么意思| PT医学上是什么意思| 橄榄是什么| 吃得苦中苦方为人上人是什么意思| 茅庐是什么意思| 头经常晕是什么原因| 心律不齐用什么药| 痛风有什么不能吃| 杨桃是什么季节的水果| 手痒是什么原因| 憩室是什么病| 孩子发烧是什么原因引起的| bpd是胎儿的什么| 儿童口腔溃疡用什么药| 眼睛胀痛是什么原因| 一月25号是什么星座| 淡然自若的意思是什么| 梅毒和艾滋病有什么区别| 孕妇适合喝什么茶| 礼拜是什么意思| 怀孕什么水果不能吃| 低筋面粉是什么| 灵芝有什么功效和作用| 低钾会有什么症状| nothomme什么牌子| 华语是什么语言| 缺钾吃什么| classic什么意思| 梦见蜘蛛网是什么意思| 什么是童子| 张学良为什么被囚禁| 食色性也是什么意思| 眼底照相是检查什么| 梗塞灶是什么意思| slay什么意思| 飞鸟集讲的是什么| 喉咙痛是什么原因| 盆腔炎吃什么消炎药效果好| 金牛座和什么星座不合| 眼睛红痒用什么眼药水| 特别提款权是什么意思| 梦见蛇预示着什么| 人出汗多是什么原因| 蟾蜍是什么动物| 印堂跳动是什么预兆| 白敬亭父母是干什么的| 为什么长斑| 做梦梦到小孩子是什么意思| 生物工程专业学什么| 尿道口有灼热感是什么原因| 筋膜刀是什么| 小孩睡觉出汗是什么原因| 做肠镜要做什么准备| 范字五行属什么| 虫草花不能和什么一起吃| 科学解释什么叫上火| 什么叫服务器| 花椰菜是什么菜| 身上起疙瘩是什么原因| 折耳猫什么颜色最贵| 尿蛋白可疑阳性是什么意思| 什么是白矮星| 不来例假也没怀孕是什么原因| 扁桃体溃疡吃什么药| 不宁腿综合症吃什么药| 阖闾和夫差是什么关系| 什么是纳氏囊肿| 1947年属什么| 什么样的月亮| 甲功三项是检查什么| 任性妄为是什么意思| 灰指甲用什么药好| 补给是什么意思| 两个立念什么| 鱼油有什么用| 六点半是什么时辰| 单宁是什么意思| 什么茶降糖效果最好| 12月17号什么星座| 什么食物含维生素c最多| 大便失禁是什么原因| 上火了吃什么降火最快| 一个斤一个页念什么| icd是什么意思| 富勒烯是什么| 维生素c什么时候吃| 一什么鼻子| 大驿土命是什么意思| 测心率手表什么牌子好| 焦虑会引起什么症状| 嘴唇起白皮是什么原因| 家里什么东西止血最快| 湿疹是由什么引起的| 天长地久是什么生肖| 三跪九叩是什么意思| 上相是什么意思| 打喷嚏是什么原因引起的| 2025是什么生肖年| 念珠菌阳性是什么意思| 干咳吃什么药效果好| 前列腺液是什么样子| 睡觉放屁是什么原因| 因数是什么意思| 烧心吃什么马上能缓解| 白板是什么意思| 凝血因子是什么| 烦恼是什么意思| 牙神经拔了对牙齿有什么影响| 结膜囊在眼睛什么位置| 再生聚酯纤维是什么面料| 宫颈癌早期什么症状| 调理神经吃什么药好| 花千骨最后结局是什么| 冠冕堂皇什么意思| 勃不起来吃什么药| 贫血是什么| 拜阿司匹林和阿司匹林有什么区别| 突然尿多是什么原因| 容易出汗是什么原因| 吃什么药可以推迟月经| 胶囊壳是什么原料做的| 肾结石什么原因引起的| 皮肤一块白一块白的是什么原因| 女人吃牛蛙有什么好处| 贝壳是什么垃圾| 春眠不觉晓的晓是什么意思| 艾滋病中期有什么症状| 927是什么意思| 吃什么补硒最快最好| 中国梦是什么| nos是什么意思| 挂失补办身份证需要什么| 胃反酸吃什么药最好| 脾肾阴虚有什么症状| 每天喝一杯豆浆有什么好处| 安乃近又叫什么名| 滴滴是什么意思| 百合有什么功效和作用| 西洋参什么时候吃效果最好| N医学上是什么意思| 咏柳是什么意思| 喉咙发炎吃什么药最好| 时来运转是什么意思| 大舅哥是什么意思| 空调水滴是什么模式| 鸩杀是什么意思| 耦合是什么意思| 尿血是什么病的征兆| 胃隐隐作痛吃什么药| 腋下皮肤发黑是什么原因引起的| 什么是气| 贫血到什么程度会晕倒| 湿疹用什么药好| 碳酸钠是什么东西| 男人额头有痣代表什么| 王加申念什么| 鼻窦炎吃什么药好| 拉肚子恶心想吐吃什么药| 背后长痘痘是什么原因| 6.5是什么星座| 百分点是什么意思| 7号来的月经什么时候是排卵期| 美妞是什么意思| 什么是植物油| 61年属什么| 名什么中什么| 孕妇心率快是什么原因| 飞刀是什么意思| 老是咳嗽挂什么科| 荔枝长什么样| 不怕流氓什么就怕流氓有文化| 什么是蜘蛛痣图片| 毛孔粗大是什么原因引起的| 一字马是什么意思| 绿松石有什么功效| save是什么意思| 肠鸣是什么原因引起的| 社保跟医保有什么区别| 什么的耳朵| 胃痛呕吐什么原因| 品牌logo是什么意思| 桃子是什么颜色| 肺大泡是什么原因造成的| 玉子是什么| 杨玉环属什么生肖| 什么日什么里| 酒店五行属什么| 妃是什么意思| ons是什么| 男生一般什么时候停止长高| 全身发烫但不发烧是什么原因| 有痔疮不能吃什么食物| 吃什么对肺有好处| 睡觉时头晕是什么原因| 64年属什么| 囊性灶是什么意思| 容易流鼻血是什么原因| 葛根粉吃了有什么好处| trx是什么| 什么一刻值千金花有清香月有阴| 69式是什么意思| 百度

吃什么蔬菜能降血脂

百度 “综合来看,特朗普的行动表明,他下定决心放弃几十年来朝着开放市场和世界经济一体化前进的方向,转而采取一种更加明确的保护主义做法,在美国堡垒的周围设置障碍。

C++20 is a version of the ISO/IEC 14882 standard for the C++ programming language. C++20 replaced the prior version of the C++ standard, called C++17, and was later replaced by C++23.[1] The standard was technically finalized[2] by WG21 at the meeting in Prague in February 2020,[3] had its final draft version announced in March 2020,[4] was approved on 4 September 2020,[5][6] and published in December 2020.[7]

Features

edit

C++20 adds more new major features than C++14 or C++17.[8] Changes that have been accepted into C++20 include:[9]

Language

edit
  • concepts,[10] with terse syntax[11]
  • modules[12]
  • designated initializers[13] (based on the C99 feature, and common g++ extension)
  • [=, this] as a lambda capture[14]
  • template parameter lists on lambdas[15]
  • three-way comparison using the "spaceship operator", operator <=>
  • initialization of an additional variable within a range-based for statement[16]
  • lambdas in unevaluated contexts[17][18]
  • default constructible and assignable stateless lambdas[17][19]
  • allow pack expansions in lambda init-capture[17][20]
  • class types in non-type template parameters, also allowing string literals as template parameters[21]
  • removing the need for typename in certain circumstances[22]
  • new standard attributes [[no_unique_address]],[23] [[likely]] and [[unlikely]][24]
  • conditional explicit, allowing the explicit modifier to be contingent on a Boolean expression[25]
  • expanded constexpr: virtual functions,[26] union,[27] try and catch,[28] dynamic_cast and typeid,[29] std::pointer_traits[30]
  • immediate functions using the new consteval keyword[31]
  • signed integers are now defined to be represented using two's complement (signed integer overflow remains undefined behavior)[32]
  • a revised memory model[33]
  • various improvements to structured bindings (interaction with lambda captures, static and thread_local storage duration)[34][35]
  • coroutines[36]
  • using on scoped enums[37]
  • constinit keyword[38]

Library

edit
  • ranges (The One Ranges Proposal)[39]
  • std::make_shared and std::allocate_shared for arrays[40]
  • atomic smart pointers (such as std::atomic<shared_ptr<T>> and std::atomic<weak_ptr<T>>)[41]
  • std::to_address to convert a pointer to a raw pointer[42]
  • calendar and time-zone additions to <chrono>[43]
  • std::span, providing a view to a contiguous array (analogous to std::string_view but span can mutate the referenced sequence)[44]
  • std::erase and std::erase_if, simplifying element erasure for most standard containers[45]
  • <version> header[46]
  • std::bit_cast<> for type casting of object representations, with less verbosity than memcpy() and more ability to exploit compiler internals[47]
  • feature test macros[48]
  • various constexpr library bits[49]
  • smart pointer creation with default initialization[50]
  • contains-method for associative containers[51]
  • prefix and suffix checking for strings[52]
  • bit operations, such as leading/trailing zero/one count,[53] and log2 operations[54][55][56]
  • std::bind_front[57]
  • std::atomic::wait, std::atomic::notify_one, andstd::atomic::notify_all were added, giving the standard library futex-like capabilities[58]

New and changed keywords

edit

Eight new keywords added (plus the new "spaceship operator", operator <=>), such as concept, constinit,[38] consteval, requires (plus changed meaning for export), and char8_t (for UTF-8 support); of the eight new these three co_await, co_return, co_yield, are only for the new coroutine support[59] (additionally six previously existing keywords have changed or new meaning added); explicit can take an expression since C++20.[60] Most of the uses of the volatile keyword have been deprecated.[61]

In addition to keywords, there are identifiers with special meaning (effectively keywords in certain contexts), including new import and module.

New attributes in C++20: [[likely]], [[unlikely]], and [[no_unique_address]][62]

Removed and deprecated

edit

Removed features:[63]

  • The C-derived headers <ccomplex>, <ciso646>, <cstdalign>, <cstdbool> and <ctgmath> were removed, as they serve no purpose in C++. (The corresponding <*.h> headers remain, for compatibility with C.)
  • The use of throw clauses was removed.
  • Some previously deprecated library features were removed, including std::uncaught_exception, std::raw_storage_iterator, std::is_literal_type, std::is_literal_type_v, std::result_of and std::result_of_t.

Deprecated features:

  • Use of comma operator in subscript expressions has been deprecated[64]
  • (most of) volatile has been deprecated[61]

Published as Technical Specifications

edit
  • Parallelism TS v2[65] (including task blocks)
  • Reflection TS v1[66]
  • Networking TS v1[67]

Deferred to a later standard

edit
  • Contracts?– a new study group (SG21) has been formed to work on a new proposal[68]
  • Reflection[69][70]
  • Metaclasses[71]
  • Executors[72]
  • Networking extensions,[73][74] including async, basic I/O services, timers, buffers and buffer-oriented streams, sockets, and Internet protocols (blocked by executors)
  • Properties[75]
  • Extended futures[76]

Compiler support

edit

Full support[77]

  • Visual Studio 2019 supports all C++20 features through its /std:c++latest option, as of version 16.10.0.[78] An option /std:c++20 to enable C++20 mode is added in version 16.11.0.[79][80]

Microsoft's compiler supports not only Windows but also Linux, Android, and iOS. However, for Linux development, it requires the "Visual C++ for Linux Development" extension. [81]

Partial

  • Clang has partial C++20 support that can be enabled with the option -std=c++20 (version 10 and later) or -std=c++2a (version 9 and earlier).[82]
  • EDG started implementing C++20 features in version 5.0 and as of version 6.1 supports most C++20 core language features.[83]
  • GCC added partial, experimental C++20 support in 2017[84] in version 8 through the option -std=c++2a. Like Clang, GCC replaced this option with -std=c++20 in version 10. It also has an option to enable GNU extensions in addition to the experimental C++20 support, -std=gnu++20.[85]

History

edit

Changes applied to the C++20 working draft in July 2017 (Toronto) include:[86]

  • concepts (what made it into the standard is a cut-down version; also described as "Concepts Lite"[87])
  • designated initializers
  • [=, this] as a lambda capture
  • template parameter lists on lambdas
  • std::make_shared and std::allocate_shared for arrays

Changes applied to the C++20 working draft in the fall meeting in November 2017 (Albuquerque) include:[88][89]

  • three-way comparison using the "spaceship operator", operator <=>
  • initialization of an additional variable within a range-based for statement
  • lambdas in unevaluated contexts
  • default constructible and assignable stateless lambdas
  • allow pack expansions in lambda init-capture
  • string literals as template parameters
  • atomic smart pointers (such as std::atomic<shared_ptr<T>> and std::atomic<weak_ptr<T>>)
  • std::to_address to convert a pointer to a raw pointer

Changes applied to the C++20 working draft in March 2018 (Jacksonville) include:[90]

  • removing the need for typename in certain circumstances
  • new standard attributes [[no_unique_address]], [[likely]] and [[unlikely]]
  • calendar and time-zone additions to <chrono>
  • std::span, providing a view to a contiguous array (analogous to std::string_view but span can mutate the referenced sequence)
  • <version> header

Changes applied to the C++20 working draft in the summer meeting in June 2018 (Rapperswil) include:[91]

  • contracts (later deferred to a later standard)[92]
  • feature test macros
  • bit-casting of object representations, with less verbosity than memcpy() and more ability to exploit compiler internals
  • conditional explicit, allowing the explicit modifier to be contingent on a Boolean expression
  • constexpr virtual functions

Changes applied to the C++20 working draft in the fall meeting in November 2018 (San Diego) include:[93]

  • ranges (The One Ranges Proposal)
  • concept terse syntax
  • constexpr union, try and catch, dynamic_cast, typeid and std::pointer_traits.
  • various constexpr library bits
  • immediate functions using the new consteval keyword
  • signed integers are now defined to be represented using two's complement (signed integer overflow remains undefined behavior)
  • refinements of the contracts facility (access control in contract conditions)[94] (see list of features deferred to a later standard)
  • a revised memory model
  • smart pointer creation with default initialization

Changes applied to the C++20 working draft in the winter meeting in February 2019 (Kona) include:[95][96][97]

  • coroutines
  • modules
  • various improvements to structured bindings (interaction with lambda captures, static and thread_local storage duration)

Changes applied to the C++20 working draft in the summer meeting in July 2019 (Cologne) include:[98][99][100][101]

  • contracts were removed (see list of features deferred to a later standard)[102]
  • use of comma operator in subscript expressions has been deprecated[64]
  • constexpr additions (trivial default initialization,[103] unevaluated inline-assembly[104])
  • using scoped enums[37]
  • various changes to the spaceship operator[105][106]
  • DR: minor changes to modules[107]
  • constinit keyword
  • changes to concepts (removal of -> Type return-type-requirements[108])
  • (most of) volatile has been deprecated[61]
  • DR: [[nodiscard]] effects on constructors[109]
  • The new standard library concepts will not use PascalCase (rather standard_case, as the rest of the standard library)[110]
  • text formatting (std::format, [111][112] chrono integration,[113] corner case fixes[114])
  • bit operations[53]
  • constexpr INVOKE[115]
  • math constants[116]
  • consistency additions to atomics (std::atomic_ref<T>,[117] std::atomic<std::shared_ptr<T>>[118])
  • add the <=> operator to the standard library[119]
  • header units for the standard library[120]
  • synchronization facilities[121] (merged from: Efficient atomic waiting and semaphores,[122] latches and barriers,[123] Improving atomic_flag,[124] Don't Make C++ Unimplementable On Small CPUs[125])
  • std::source_location[126]
  • constexpr containers (std::string,[127] std::vector[128])
  • std::stop_token and joining thread (std::jthread)[129]

Changes applied during the NB comment resolution in the fall meeting in November 2019 (Belfast) include:[130][131][132][133]

  • Class Types in Non-Type Template Parameters (NTTP): The restriction of no user-defined operator== allowed has been removed as the meaning of template argument equality has been divorced from operator==.[134] This allows also for array members in class-type NTTP.
  • Floating-point types,[135] pointers and references and unions and union-like classes (class types containing anonymous unions) are now allowed as NTTP.
  • Function identity now also includes trailing requires-clauses (P1971)
  • Constrained non-template functions have been removed
  • <compare> is now available in freestanding implementations[136]
  • std::spans typedef was changed from index_type to size_type to be consistent with the rest of the standard library[137]
  • Concept traits have been renamed to follow the renaming of the concepts as a result from the Cologne meeting
  • Several fixes and additions to ranges (P1456R1: Move-only views,[138] P1391R4: Range constructor for std::string_view (constructor from iterator-pair of characters),[139] P1394R4: Range constructor for std::span<ref>,[140] P1870R1: forwarding-range<T> is too subtle[141])
  • Initialization for std::atomic<T> has been changed to make it work with default and list initialization,[142] std::latch and std::barrier can now report the maximum number of threads that the implementation supports through the new member function max()
  • std::weak_equality and std::strong_equality have been removed as they are not used anymore
  • Algorithms in <numeric> have been made constexpr
  • Missing feature-test macros for new or changed features of C++20 have been added[143]

References

edit
  1. ^ "The Standard". isocpp.org. Archived from the original on 19 September 2020. Retrieved 7 September 2020.
  2. ^ Sutter, Herb (2025-08-14). "P1000R3: C++ IS schedule" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  3. ^ Dusíková, Hana (2025-08-14). "N4817: 2020 Prague Meeting Invitation and Information" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  4. ^ "N4859 Editors' Report -- Programming Languages -- C++". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  5. ^ "Current Status". isocpp.org. Archived from the original on 8 September 2020. Retrieved 7 September 2020.
  6. ^ "C++20 Approved -- Herb Sutter". isocpp.org. Archived from the original on 11 September 2020. Retrieved 8 September 2020.
  7. ^ "ISO/IEC 14882:2020". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  8. ^ "Why does the C++ standard ship every three years?". 13 July 2019. Archived from the original on 13 July 2019. Retrieved 19 July 2019.
  9. ^ "P0592R0: To boldly suggest an overall plan for C++20". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  10. ^ "P0606R0: Concepts Are Ready" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  11. ^ "P1141R1 - Yet another approach for constrained declarations". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  12. ^ "N4720: Working Draft, Extensions to C++ for Modules" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  13. ^ Tim Shen; Richard Smith. "Designated Initialization Wording". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  14. ^ Thomas K?ppe. "Allow lambda capture [=, this]". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  15. ^ "Familiar template syntax for generic lambdas". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  16. ^ "Range-based for statements with initializer". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  17. ^ a b c "Trip Report: C++ Standards Meeting in Albuquerque, November 2017". There's Waldo!. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  18. ^ "Wording for lambdas in unevaluated contexts" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  19. ^ "Default constructible and assignable stateless lambdas" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  20. ^ "Pack expansion in lambda init-capture". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  21. ^ "Class Types in Non-Type Template Parameters" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  22. ^ Nina Ranns; Daveed Vandevoorde. "Down with typename!". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  23. ^ "Language support for empty objects". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  24. ^ "Proposed wording for likely and unlikely attributes (Revision 5)". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  25. ^ "explicit(bool)". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  26. ^ "Allowing Virtual Function Calls in Constant Expressions". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  27. ^ "P1330R0 - Changing the active member of a union inside constexpr". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  28. ^ "P1002R0 - Try-catch blocks in constexpr functions" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  29. ^ "P1327R0 - Allowing dynamic_cast, polymorphic typeid in Constant Expressions". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  30. ^ "P1006R1 - Constexpr in std::pointer_traits" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  31. ^ "P1073R2 - Immediate functions". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  32. ^ "P1236R0: Alternative Wording for P0907R4 Signed Integers are Two's Complement". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  33. ^ "P0668R4: Revising the C++ memory model". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  34. ^ "P1091R1: Extending structured bindings to be more like variable declarations". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  35. ^ "P1091R2: Extending structured bindings to be more like variable declarations". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  36. ^ "N4649: Working Draft, Technical Specification for C++ Extensions for Coroutines" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  37. ^ a b "P1099R5: Using Enum". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  38. ^ a b "P1143R2: Adding the constinit keyword". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  39. ^ "P0896R3" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  40. ^ "Extending make_shared to Support Arrays". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  41. ^ Meredith, Alisdair; Sutter, Herb. "Revising atomic_shared_ptr for C++20". JTC1/SC22/WG21 - The C++ Standards Committee - ISOCPP. ISO. Archived from the original on 4 January 2018. Retrieved 27 December 2018.
  42. ^ "Utility to convert a pointer to a raw pointer". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  43. ^ Howard E. Hinnant; Tomasz Kamiński. "Extending <chrono> to Calendars and Time Zones". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  44. ^ Neil MacIntosh; Stephan T. Lavavej. "span: bounds-safe views for sequences of objects". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  45. ^ Alisdair Meredith; Stephan T. Lavavej (2025-08-14). "Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  46. ^ Alan Talbot. "<version>". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  47. ^ "Bit-casting object representations". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  48. ^ "Integrating feature-test macros into the C++ WD (rev. 2)". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  49. ^ "P1032R1 - Misc constexpr bits". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  50. ^ "Smart pointer creation with default initialization". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  51. ^ Mikhail Maltsev. "P0458R2: Checking for Existence of an Element in Associative Containers". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  52. ^ Mikhail Maltsev. "P0457R2: String Prefix and Suffix Checking". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  53. ^ a b "P0553R4: Bit operations". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  54. ^ "P0556R3: Integral power-of-2 operations". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  55. ^ "P1355R2 Exposing a narrow contract for ceil2". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  56. ^ "On the names of low-level bit manipulation functions" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  57. ^ Tomasz Kamiński (2025-08-14). "Simplified partial function application". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  58. ^ "P1643R1: Add wait/notify to atomic_ref<T>". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  59. ^ "C++ keywords - cppreference.com". en.cppreference.com. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  60. ^ "explicit specifier - cppreference.com". en.cppreference.com. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  61. ^ a b c "P1152R4: Deprecating volatile". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  62. ^ "attribute specifier sequence(since C++11) - cppreference.com". en.cppreference.com. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  63. ^ "Working Draft, Standard for Programming Language C++ (Annex C, §C.1)" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  64. ^ a b "P1161R2: Deprecate uses of the comma operator in subscripting expressions". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  65. ^ "C++ Extensions for Parallelism Version 2". Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  66. ^ "C++ Extensions for Reflection". Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  67. ^ "C++ Extensions for Networking". Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  68. ^ Sutter, Herb (2025-08-14). "Trip report: Summer ISO C++ standards meeting (Cologne)". Sutter's Mill. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  69. ^ "Reflections on the reflection proposals - Meeting C++". meetingcpp.com. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  70. ^ "Static reflection". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  71. ^ Herb Sutter. "Metaclasses" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  72. ^ "A Unified Executors Proposal for C++". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  73. ^ "N4771: Working Draft, C++ Extensions for Networking" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  74. ^ "ISO/IEC TS 19216:2018 Programming Languages -- C++ Extensions for Networking". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  75. ^ "A General Property Customization Mechanism". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  76. ^ "A Unified Futures Proposal for C++". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  77. ^ "C++ compiler support - cppreference.com". en.cppreference.com. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  78. ^ jawiddis. "Visual Studio 2019 version 16.10 Release Notes". docs.microsoft.com. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  79. ^ "MSVC C++20 and the /std:c++20 Switch". docs.microsoft.com. 2 September 2021. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  80. ^ Visual Studio documentation for Microsoft C++, Microsoft Docs, 2025-08-14, archived from the original on 2025-08-14, retrieved 2025-08-14
  81. ^ "Visual Studio 2019 Compatibility". docs.microsoft.com. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  82. ^ "Clang - C++ Programming Language Status". clang.llvm.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  83. ^ "C++ compiler support - cppreference.com". en.cppreference.com. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  84. ^ "Andrew Sutton - [PATCH] Add -std=c++2a". gcc.gnu.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  85. ^ "C++ Standards Support in GCC - GNU Project". gcc.gnu.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  86. ^ Herb Sutter (15 July 2017). "Trip report: Summer ISO C++ standards meeting (Toronto)". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  87. ^ Andrew Sutton; Bjarne Stroustrup (2025-08-14). "Concepts Lite: Constraining Templates with Predicates". isocpp.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  88. ^ Herb Sutter (11 November 2017). "Trip report: Fall ISO C++ standards meeting (Albuquerque)". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  89. ^ Smith, Richard; Perchik, Dawn; K?ppe, Thomas. "N4714 Editors' Report -- Programming Languages -- C++". C++ standards drafts. GitHub. Archived from the original on 21 September 2022. Retrieved 27 December 2018.
  90. ^ Botond Ballo (28 March 2018). "Trip Report: C++ Standards Meeting in Jacksonville, March 2018". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  91. ^ Herb Sutter (2 July 2018). "Trip report: Summer ISO C++ standards meeting (Rapperswil)". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  92. ^ "Support for contract based programming in C++". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  93. ^ fall meeting in November 2018
  94. ^ "P1289R0 - Access control in contract conditions" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  95. ^ winter meeting in February 2019
  96. ^ "r/cpp - 2019-02 Kona ISO C++ Committee Trip Report (C++20 design is complete; Modules in C++20; Coroutines in C++20; Reflection TS v1 published; work begins on a C++ Ecosystem Technical Report)". reddit. 23 February 2019. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  97. ^ "Trip report: Winter ISO C++ standards meeting (Kona)". Sutter's Mill. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  98. ^ "2019 Cologne Meeting Invitation and Information" (PDF).
  99. ^ "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)". reddit. 20 July 2019. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  100. ^ Botond Ballo (26 July 2019). "Trip Report: C++ Standards Meeting in Cologne, July 2019". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  101. ^ Sutter, Herb (20 July 2019). "Trip report: Summer ISO C++ standards meeting (Cologne)". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  102. ^ Josuttis, Nicolai. "P1823R0: Remove Contracts from C++20" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  103. ^ "Permitting trivial default initialization in constexpr contexts" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  104. ^ "P1668R1: Enabling Constexpr Intrinsics By Permitting Unevaluated inline-asm in Constexpr Functions". www.open-std.org. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  105. ^ "P1186R3: When do you actually use <=>?". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  106. ^ "P1630R1: Spaceship needs a tune-up". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  107. ^ "P1766R1: Mitigating minor modules maladies". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  108. ^ "P1452R2: On the non-uniform semantics of return-type-requirements". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  109. ^ "P1771R1: nodiscard for constructors" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  110. ^ "P1754R1: Rename concepts to standard_case for C++20, while we still can" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  111. ^ "P0645R10: Text Formatting". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  112. ^ "std::format in C++20". www.zverovich.net. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  113. ^ "P1361R2: Integration of chrono with text formatting" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  114. ^ "P1652R1: Printf corner cases in std::format". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  115. ^ "P1965R2: constexpr INVOKE". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  116. ^ "P0631R8: Math Constants" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  117. ^ "P1643R1: Add wait/notify to atomic_ref<T>". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  118. ^ "P1664R0: Add wait/notify to atomic<shared_ptr<T>>". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  119. ^ "P1614R2: The Mothership has Landed - Adding <=> to the Library". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  120. ^ "P1502R1: Standard library header units for C++20". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  121. ^ "P1135R6: The C++20 Synchronization Library". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  122. ^ "P0514R4: Efficient concurrent waiting for C++20" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  123. ^ "P0666R2: Revised Latches and Barriers for C++20" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  124. ^ "P0995R1: Improving atomic_flag". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  125. ^ "P1285R0: Don't Make C++ Unimplementable On Small CPUs". Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  126. ^ "P1208R6: Adopt source_location from Library Fundamentals V3 for C++20" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  127. ^ "P0980R1: Making std::string constexpr" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  128. ^ "P1004R2: Making std::vector constexpr" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  129. ^ "P0660R10: Stop Token and Joining Thread" (PDF). Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  130. ^ fall meeting in November 2019
  131. ^ "r/cpp - 2019-11 Belfast ISO C++ Committee Trip Report — Started Processing Feedback on the C++20 Committee Draft; ABI Review Group Formed". reddit. 9 November 2019. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  132. ^ Sutter, Herb (2025-08-14). "Trip report: Autumn ISO C++ standards meeting (Belfast)". Sutter's Mill. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  133. ^ botondballo (2025-08-14). "Trip Report: C++ Standards Meeting in Belfast, November 2019". There's Waldo!. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  134. ^ "P1907R0: Inconsistencies with non-type template parameters". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  135. ^ "P1714: NTTP are incomplete without float, double, and long double! (Revision 1)". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  136. ^ "P1855R=: Make <compare> freestanding". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  137. ^ "P1872R0: span should have size_type not index_type" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  138. ^ "P1456: Move-only views" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  139. ^ "P1391: Range constructor for std::string_view" (PDF). www.open-std.org. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  140. ^ "P1394: Range constructor for std::span" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  141. ^ "P1870R1: forwarding-range<T> is too subtle". www.open-std.org. 6 October 2019. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
  142. ^ "P0883: Fixing Atomic Initialization" (PDF). www.open-std.org. 2025-08-14. Archived (PDF) from the original on 2025-08-14. Retrieved 2025-08-14.
  143. ^ "Missing feature-test macros 2018-2019". www.open-std.org. 2025-08-14. Archived from the original on 2025-08-14. Retrieved 2025-08-14.
edit
梦到数钱代表什么预兆 孩子为什么不愿意上学 1月3日是什么星座 什么叫电子版照片 宫外孕出血是什么颜色
四氯化碳是什么 讳莫如深是什么意思 来月经喝红糖水有什么好处 h1什么意思 洋桔梗的花语是什么
心悸是什么意思啊 偏头痛挂什么科 双子后面是什么星座 怕冷的女人是什么原因 鸟加一笔是什么字
名落孙山是什么意思 hpv弱阳性是什么意思 眼睑痉挛挂什么科 维生素e有什么功效 什么是化学
贴黄瓜片对皮肤有什么好处clwhiglsz.com 高筋面粉可以做什么hcv8jop9ns2r.cn 水烟是什么hcv8jop8ns4r.cn 鼻孔里面痒是什么原因fenrenren.com 肾结石什么症状beikeqingting.com
kpa什么意思jasonfriends.com 手足口病有什么症状hcv9jop2ns6r.cn 吃什么水果可以变白hcv9jop3ns3r.cn 糖类抗原ca199偏高是什么原因hcv9jop6ns1r.cn 吸顶灯什么牌子的好hcv7jop4ns6r.cn
偏头痛吃什么药效果好hcv8jop0ns2r.cn 女生真空是什么意思hcv9jop6ns8r.cn 冷笑话是什么意思hcv7jop5ns5r.cn 失眠吃什么中成药520myf.com 子宫占位是什么意思hcv9jop1ns0r.cn
伏特加是什么意思helloaicloud.com 胆囊壁固醇沉积是什么意思hcv8jop3ns2r.cn 六味地黄丸什么时候吃最好hcv8jop2ns1r.cn nba下个赛季什么时候开始hcv7jop6ns3r.cn 阴虚血热什么症状hcv9jop6ns7r.cn
百度