C++新特性

comochris發表於2021-01-03

C++2b 功能特性

請注意,隨 C++2b 標準草案的逐步推進,此列表可能會發生變化。

C++23 核心語言功能特性

C++23 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvcc[摺疊]
(有符號) size_t字面量字尾P0330R8
C++23 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvcc

C++23 庫功能特性

C++23 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Sun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫[摺疊]
棧追蹤庫P0881R7
``P0943R6
std::is_scoped_enumP1048R1
basic_string/basic_string_viewcontains()P1679R3
C++23 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Sun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫

C++20 功能特性

C++20 核心語言功能特性

C++20 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvcc[摺疊]
允許 lambda 捕獲 [=, this]P0409R28619.22*10.0.0*5.1
__VA_OPT__P0306R4 P1042R18 (部分)* 10919.25*11.0.3*5.1
指派初始化器P0329R44.7 (部分)* 83.0 (部分)* 1019.21*(部分)*5.1
泛型 lambda 的模板形參列表P0428R28919.22*11.0.0*5.1
位域的預設成員初始化器P0683R18619.25*10.0.0*5.1
類别範本實參推導中的 intializer_list 建構函式P0702R18619.14*5.0
const& 限定的成員指標P0704R18619.0*10.0.0*5.1
概念P0734R06 (僅 TS) 101019.23* (部分)*
不求值語境中的 lambdaP0315R49
三路比較運算子P0515R3108 (部分) 1019.20*5.1
DR :簡化隱式 lambda 捕獲P0588R1819.24*5.1
基於範圍的 for 的初始化語句P0614R19819.25*11.0.0*6.0
可預設構造與可賦值的無狀態 lambdaP0624R29819.22*10.0.1*5.1
預置複製建構函式與 const 的不匹配P0641R29819.21* (部分)10.0.1*5.1
特化上的訪問檢查P0692R18 (部分)19.26*10.0.1*(部分)5.1
ADL 與不可見的函式模板P0846R09919.21*11.0.3*5.1
指定 constexpr 函式定義何時為常量求值所需要P0859R05.2 (部分)* 98
屬性 [[likely]][[unlikely]]P0479R5919.26*5.1
使 typename 更可選P0634R395.1
Lambda 初始化捕獲中的包展開P0780R29919.22*11.0.3*
屬性 [[no_unique_address]]P0840R29911.0.3*5.1
DR :放鬆結構化繫結定製點查詢規則P0961R18819.21*10.0.1*5.1
DR :放鬆範圍 for 迴圈定製點查詢規則P0962R185.1
DR :允許到可訪問成員的結構化繫結P0969R08819.21*10.0.1*5.1
銷燬的 operator deleteP0722R39619.27*10.0.0*6.1
非型別模板形參中的類型別P0732R2919.26*
棄用經由 [=] 隱式捕獲 thisP0806R2919.22*5.1
explicit(bool)P0892R29919.24*11.0.3*5.1
整合特性測試巨集P0941R253.419.15* (部分) 19.20*5.0
禁止有使用者宣告建構函式的聚合體P1008R19819.20*10.0.1*5.1
constexpr 虛擬函式P1064R09911.0.3*5.1
比較的一致性改進P1120R0108 (部分) 1019.22*10.0.1*(部分)5.1
char8_tP0482R69719.22*10.0.0*5.1
std::is_constant_evaluated()P0595R29919.25*11.0.3*5.119.1
constexpr 函式中的 try-catchP1002R19819.25*10.0.1*5.1
立即函式P1073R310 (部分)*5.1
巢狀 inline 名稱空間P1094R29810.0.1*5.1
有制約宣告的另一種手段P1141R21019.26* (部分)
有符號整數為補碼P1236R19911.0.3*
constexpr dynamic_cast 及多型 typeidP1327R110911.0.3*5.1
在 constexpr 內更改聯合體的活躍成員P1330R09919.10*11.0.3*5.1
協程P0912R5108 (部分)19.25* (部分)10.0.1*(部分)5.1
聚合體的括號初始化P0960R3105.1
DR : new 表示式中的陣列大小推導P1009R2911.0.3*5.1
模組P1103R38 (部分)19.25* (部分)10.0.1*(部分)
更強的 Unicode 要求P1041R4 P1139R21019.0*(P1041R4) 19.26*(P1139R2)N/A
<=> != ==P1185R2101019.22*5.1
DR :擁有不同異常說明的顯式預設化函式P1286R210911.0.3*5.1
結構化繫結的 lambda 捕獲與儲存類說明符P1091R3 P1381R1108 (部分)10.0.1*(部分)5.1
容許轉換到未知邊界陣列P0388R4106.0
constexpr 容器操作P0784R710106.0
棄用 volatile 的某些用法P1152R410106.0
constinitP1143R21010
棄用下標中的逗號運算子P1161R310919.25*11.0.3*6.0
帶訊息的 [[nodiscard]]P1301R410919.25*11.0.3*6.0
constexpr 函式中的平凡預設初始化P1331R210106.0
constexpr 函式中的不求值彙編宣告P1668R110106.1
using enumP1099R519.24*
對指定的比較類別合成三路比較P1186R3101019.24*6.0
DR :建構函式的 [[nodiscard]]P1771R110919.24*11.0.3*6.0
別名模板的類别範本實參推導P1814R010
聚合類的類别範本實參推導P1816R010
DR :更多區域性物件與右值引用的隱式移動P1825R019.24*6.0
允許預設化按值比較P1946R01019.25*6.1
移除 std::weak_equalitystd::strong_equalityP1959R01019.25*
非型別模板形參的不一致P1907R1919.26*
DR :偽解構函式終結物件生存期P0593R611
DR :應認為從 T*bool 的轉換為窄化P1957R210*
C++20 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvcc

C++20 庫功能特性

C++20 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Sun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫[摺疊]
std::endianP0463R18710.0.0*19.22*
擴充套件 std::make_shared() 以支援陣列P0674R119.27*
浮點原子型別P0020R61019.22*
同步緩衝的輸出流P0053R7
](https://zh.cppreference.com/w/cpp/header/algorithm) 與 [constexprP0202R3108 (部分)10.0.1*(部分)19.26*
`` 的更多 constexprP0415R197 (部分)10.0.0*(部分)19.27*
使 std::memory_order 為有作用域列舉P0439R09911.0.3*19.25*
字串字首與字尾檢查P0457R29619.21*
operator<=> 的庫支援 ``P0768R1107 (部分)10.0.0*(部分)19.20* (部分)
std::remove_cvrefP0550R29610.0.0*19.20*
標準庫中的 [[nodiscard]]P0600R197 (部分)10.0.0*(部分)19.13* (部分) 19.22*
數值演算法使用 std::moveP0616R0919.23*
轉換指標為裸指標的工具P0653R28619.22*
原子 std::shared_ptrstd::weak_ptrP0718R219.27*
std::spanP0122R710710.0.0*19.26*
日曆時區P0355R77 (部分)10.0.0*(部分)
``P0754R29710.0.0*19.22*
比較無序容器P0809R016.0*
常量表示式迭代器 (ConstexprIterator) 要求P0858R0919.11*
std::basic_string::reserve() 不應收縮P0966R1810.0.1*19.25*
std::atomic_refP0019R810
關聯容器的 contains() 成員函式P0458R2919.21*
DR :逐片構造的受保證複製消除P0475R19
std::bit_cast()P0476R219.27*
整數的 2 的冪的運算P0556R3 P1956R19 (P0556R3) 10 (P1956R1)19.25*(P0556R3) 19.27*(P1956R1)
改進仿 erase 演算法的返回值P0646R191019.21*
std::destroying_deleteP0722R39911.0.3*19.27*
std::is_nothrow_convertibleP0758R19911.0.3*19.23*
新增 shift<algorithm>P0769R21019.21*
std::swap()swap 相關函式的 constexprP0879R01019.26*
std::type_identityP0887R19810.0.1*19.21*
概念庫P0898R31019.23*
std::arrayconstexpr 比較運算子P1023R010810.0.1*19.27*
std::unwrap_ref_decaystd::unwrap_referenceP0318R19810.0.1*19.21*
std::bind_front()P0356R5919.25*
不完整型別的 std::reference_wrapperP0357R39810.0.1*19.26*
修正 operator>>(basic_istream&, CharT*)P0487R1810.0.1*19.23*
char8_t 的庫支援P0482R6919.22*
實現使用分配器構造工具函式P0591R49
DR : std::variantstd::optional 應傳播複製/移動平凡性P0602R48.3810.0.1*19.11*
理智的 std::variant 轉換建構函式P0608R310911.0.3*
std::function 的移動建構函式應為 noexceptP0771R17.2619.22*
一個範圍提案P0896R410
無序容器的異質查詢P0919R3 P1690R119.23*(P0919R3) 19.25*(P1690R1)
`` zero()min()max() 應為 noexceptP0972R09810.0.1*19.14*
std::pointer_traits 中的 constexprP1006R19810.0.1*19.26*
std::assume_aligned()P1007R39
移除 std::span 的比較運算子P1085R210810.0.1*19.26*
使 operator+(basic_string) 的有狀態分配器傳播更加一致P1165R11019.26*
一致容器擦除P1209R0 P1115R39 (P1209R0) 10 (P1115R3)8 (P1209R0) 11 (P1115R3)10.0.1*(P1209R0)19.25*(P1209R0) 19.27*(P1115R3)
std::lerp()std::midpoint()P0811R39911.0.3*19.23* (部分)
std::span 的實用性增強P1024R310911.0.3*19.26*
DR :使 create_directory() 自發P1164R18.319.20*
std::ssize()std::span 的無符號長度P1227R210911.0.3*19.25*
有界無界陣列特徵P1357R19911.0.3*
std::to_array()P0325R4101019.25*
std::basic_stringbuf 緩衝的有效訪問P0408R7
佈局相容性指標可互轉換性特徵P0466R5
位操作P0553R49911.0.3*19.25*
數學常數 ``P0631R81019.25*
文字格式化P0645R10
std::stop_tokenstd::jthreadP0660R1010
constexpr std::allocator 及相關工具P0784R710
constexpr std::stringP0980R1
constexpr std::vectorP1004R2
輸入範圍介面卡P1035R710
constexpr std::invoke() 及相關工具P1065R210
原子等待與提醒、 std::counting_semaphorestd::latchstd::barrierP1135R6
std::source_locationP1208R67 (僅 TS)
新增 <=> 到標準庫P1614R210
std::atomicstd::atomic_flag 的 constexpr 預設建構函式P0883R219.26*
數值演算法的 constexprP1645R11019.26*
安全整數比較P0586R21019.27*
C++20 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Sun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫

C++17 功能特性

C++17 核心語言功能特性

C++17 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvcc[摺疊]
直接列表初始化的新 auto 規則N392253.819.0*4.10.117.010.317.7
無訊息的 static_assertN392862.519.10*4.1218.010.317.7
模板模板形參中的 typenameN405153.519.0*4.10.117.010.317.7
移除三標符N408653.516.0*5.019.0.110.3
巢狀名稱空間定義N423063.619.0*4.1217.010.317.7
名稱空間和列舉項的屬性N42664.9 (部分)* 63.619.0*4.1117.010.317.7
u8 字元字面量N426763.619.0*4.1117.010.317.7
允許所有非型別模板實參的常量求值N426863.619.12*5.019.0.110.3
摺疊表示式N429563.619.12*4.1419.010.318.1
一元摺疊表示式和空形參包P0036R063.919.12*4.1410.3
移除 register 關鍵字的已棄用用法P0001R173.819.11*4.1318.010.317.7
移除已棄用的 operator++(bool)P0002R173.819.11*4.1318.010.317.7
令異常規定為型別系統的一部分P0012R17419.12*4.1419.010.3
有基類的類的聚合初始化P0017R173.919.14*5.019.0.110.3
前處理器條件中的 __has_includeP0061R1519.11*4.1318.010.317.7
DR :繼承建構函式的新規定 (DR1941 等)P0136R173.919.14*6.110.319.1
*this 的 lambda 捕獲P0018R373.919.11*4.1419.010.318.1
列舉的直接列表初始化P0138R273.919.11*4.1418.010.3
constexpr lambda 表示式P0170R17519.11*4.1419.010.318.1
基於範圍 for 的相異 begin 和 end 型別P0184R063.919.10*4.1218.010.317.7
[[fallthrough]]屬性P0188R173.919.10*4.1318.010.317.7
[[nodiscard]] 屬性P0189R173.919.11*4.1318.010.317.7
[[maybe_unused]]屬性P0212R173.919.11*4.1318.010.317.7
十六進位制浮點字面量P0245R13.019.11*4.1318.010.317.7
使用屬性名稱空間而不重複P0028R473.919.11*4.1318.010.317.7
過對齊資料的動態記憶體分配P0035R47419.12*10.0.0*4.1410.3
類别範本實參推導P0091R37519.14*5.019.0.110.319.1
具有 auto 型別的非型別模板形參P0127R27419.14*5.019.0.110.319.1
受保證的複製消除P0135R17419.13*5.019.0.110.319.1
替換含引用成員的類物件P0137R17619.14*5.010.3
更嚴格的表示式求值順序P0145R37419.14*5.019.0.110.3
結構化繫結P0217R37419.11*4.1419.010.318.1
忽略未知屬性P0283R23.919.11*4.1318.010.317.7
constexpr if 語句P0292R273.919.11*4.1419.010.318.1
ifswitch 的初始化語句P0305R173.919.11*4.1418.010.318.1
inline 變數P0386R273.919.12*4.1419.010.318.1
移除動態異常說明P0003R57419.10*4.1419.010.3
using 宣告中的包展開P0195R27419.14*5.010.3
DR :模板模板實參的匹配排除了相容的模板P0522R07419.12*5.019.0.110.3
C++17 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvcc

C++17 庫功能特性

C++17 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Intel 並行 STLSun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫[摺疊]
std::void_tN391163.619.0*N/A10.3
std::uncaught_exceptions()N425963.719.0*N/A10.3
std::size()std::empty()std::data()N428063.619.0*N/A10.3
改進 std::pairstd::tupleN43876419.0*N/A10.3
std::bool_constantN438963.719.0*N/A10.3
std::shared_mutex (無時限)N450863.719.0*N/A10.3
型別特性變數模板P0006R073.819.0*N/A10.3
邏輯運算子型別特性P0013R163.819.0*N/A10.3
標準化並行 TSP0024R29*19.14*18.0*
std::clamp()P0025R073.910.0.0*19.0*N/A10.3
硬體干涉大小P0154R119.11*N/A
(nothrow-)swappable 特性P0185R173.910.0.0*19.0*N/A10.3
檔案系統庫P0218R18711.0.0*19.14*N/A10.3
std::string_viewN3921 P0220R17410.0.0*19.10*N/A10.3
std::anyP0220R17410.0.0*19.10*N/A10.3
std::optionalP0220R17410.0.0*19.10*N/A10.3
多型記憶體資源P0220R1919.13*N/A10.3
數學特殊函式P0226R1719.14*N/A10.3
C++17 應指代 C11 而非 C99P0063R39719.0* (部分)*N/A10.3
接合 map 與 setP0083R37810.0.0*19.12*N/A
std::variantP0088R37410.0.0*19.10*N/A10.3
std::make_from_tuple()P0209R273.919.10*N/A10.3
std::has_unique_object_representationsP0258R27619.11*N/A10.3
std::gcd()std::lcm()P0295R07419.11*N/A10.3
std::not_fnP0005R4 P0358R173.919.12*N/A10.3
初等字串轉換P0067R58 (無浮點)7 (無浮點)19.14* (無浮點)* 19.24*N/A
有陣列支援的 std::shared_ptrstd::weak_ptrP0414R271119.12*N/A10.3
std::scoped_lockP0156R27519.11*N/A10.3
std::byteP0298R37519.11*N/A10.3
std::is_aggregateLWG29117519.15*N/A10.3
C++17 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Intel 並行 STLSun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫

C++14 功能特性

C++14 核心語言功能特性

C++14 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvcc[摺疊]
按語境轉換的遣詞調整N33234.93.418.0*4.916.013.1.2*5.1510.38.616.19.0
二進位制字面量N34724.3 (GNU) 4.92.919.0*4.1011.013.1.2*5.1410.38.620159.0
decltype(auto),普通函式的返回型別推導N36384.8 (部分)* 4.919.0*4.915.013.1.2*5.1510.38.616.19.0
帶初始化/泛化的 lambda 捕獲 (init-capture)N36484.5 (部分) 4.93.419.0*4.1015.016.1.1*5.1510.38.616.19.0
泛型 lambda 表示式N36494.93.419.0*4.1016.013.1.2*5.1510.38.616.19.0
變數模板N365153.419.0*4.1117.013.1.2*5.1510.38.617.49.0
擴充套件的 constexprN365253.419.10*4.1117.013.1.2*5.1510.38.617.49.0
帶成員初始化器的聚合體 (NSDMI)N365353.319.10*4.916.016.1.1*5.1410.38.616.19.0
忽略/擴充套件記憶體分配N3664N/A3.4N/AN/AN/AN/AN/A10.38.617.4N/A
[[deprecated]]屬性N37604.93.419.0*4.915.0* 16.013.1.2*5.1410.38.616.19.0
具大小解分配N377853.419.0*4.10.117.016.1.1*5.1410.38.616.1
單引號作為數位分隔符N37814.93.419.0*4.1016.013.1.2*5.1410.38.620159.0
C++14 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvcc

C++14 庫功能特性

C++14 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Sun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫[摺疊]
``constexprN330253.419.0*5.1510.38.6
通透的運算子函式物件N34214.93.418.0*5.1510.38.6
std::result_of 與 SFINAEN3462519.0*5.1510.38.6
``constexprN346953.419.0*5.1510.38.6
``constexprN347053.419.0*5.1510.38.6
](https://zh.cppreference.com/w/cpp/header/initializer_list) 、 [``constexprN347153.419.0*5.1510.38.6
改進的 std::integral_constantN354553.419.0*5.1510.38.6
](https://zh.cppreference.com/w/cpp/header/chrono) 和 [ 的使用者定義字面量N364253.419.0*5.1510.38.6
空向前迭代器N36445 (部分)3.419.0*5.1510.38.6
std::quotedN365453.419.0*5.1510.38.6
std::make_uniqueN36564.93.418.0*5.1510.38.6
異質關聯查詢N365753.419.0*5.1510.38.6
std::integer_sequenceN365853.419.0*5.1510.38.6
std::shared_timed_mutexN365953.419.0*5.1510.38.6
std::exchangeN366853.419.0*5.1510.38.6
修正無 constconstexpr 成員函式N366953.419.0*5.1510.38.6
std::get()N367053.419.0*5.1510.38.6
雙範圍的 std::equalstd::is_permutationstd::mismatchN367153.419.0*5.1510.38.6
C++14 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Sun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫

C++11 功能特性

C++11 核心語言功能特性

C++11 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvccHP aCCDigital Mars C++[摺疊]
C99 前處理器N16534.319.0*(部分)* 19.26*4.111.110.15.98.420157.0A.06.25
static_assertN17204.32.916.0*4.111.011.15.138.420157.0A.06.258.52
右角括號N17574.314.0*4.111.012.15.138.420157.0
擴充套件的 friend 宣告N17914.72.916.0*(部分) 18.0*4.111.1 (部分) 12.011.15.138.420157.0A.06.25
long longN181114.0*8.420157.0
型別特徵的編譯器支援N18364.33.014.0*4.010.013.1.35.138.420156.16
autoN19844.416.0*3.911.0 (v0.9) 12.011.15.138.420157.0A.06.25
委託建構函式N19864.73.018.0*4.714.011.15.138.420157.0A.06.28
extern templateN19873.312.0*3.99.011.15.138.420157.0A.06.25
constexprN22354.63.119.0*4.613.0 (部分) 14.012.1 (部分) 13.15.138.420157.0A.06.28
模板別名N22584.73.018.0*4.212.113.1.1*5.138.420157.0A.06.27
char16_tchar32_tN22494.42.919.0*4.412.1* 14.013.1.1*5.138.420157.0A.06.278.52
alignasN23414.83.019.0*4.815.013.1.2*5.138.620157.0
alignofN23414.52.919.0*4.815.013.1.2*5.138.420157.0
預設化與被刪除的函式N23464.43.018.0*4.112.013.15.138.420157.0A.06.25
強型別 enumN23474.42.917.0*4.013.012.15.138.420157.0A.06.25
原子操作N24274.43.117.0*Yes13.013.1.2*5.148.42015
nullptrN24314.62.916.0*4.212.113.15.138.420157.0A.06.278.52
顯式轉換運算子N24374.53.018.0*4.413.012.15.138.420157.0A.06.27
引用限定符N24394.8.12.919.0*4.714.013.1.2*5.138.420157.0A.06.28
Unicode 字串字面量N24424.43.019.0*4.711.0*10.1* 13.1.1*5.78.420157.0A.06.288.52
未處理的字串字面量N24424.518.0*4.714.013.1.1*5.138.420157.0A.06.288.52
內聯名稱空間N25354.42.919.0*4.514.011.15.138.420157.0A.06.28
繼承建構函式N25404.83.319.0*4.815.013.1.1*5.138.420157.0
尾隨的函式返回型別N25414.42.916.0*4.112.012.15.138.420157.0A.06.27
無限制的聯合體N25444.63.019.0*4.614.0*13.1.2*5.138.420157.0A.06.28
變引數模板N2242 N25554.3 (N2242) 4.42.918.0*4.3 (N2242) 4.312.111.1 (N2242)5.138.420157.0A.06.27
表示式 SFINAEN26344.42.919.14*4.212.18.420157.0
區域性與無名型別作為模板形參N26574.52.916.0*4.212.013.1.2*5.138.420157.0A.06.27
執行緒區域性儲存N26594.4 (部分) 4.83.3*16.0*(部分) 19.0*4.811.1 (部分) 15.0*10.1 (部分)* 13.1.2 (部分)*5.9 (部分)8.420158.52 (部分)
帶併發的動態初始化與析構(魔法靜態變數N26604.32.919.0*Yes11.1*13.1.2*5.138.42015A.06.25
垃圾收集與基於可達性的洩漏檢測N2670
初始化器列表N26724.43.118.0*4.513.0 (部分) 14.013.1.2*5.138.420157.0A.06.28
非靜態資料成員初始化器N27564.73.018.0*4.614.013.1.2*5.138.420157.0A.06.28
屬性N27614.83.319.0*4.212.113.1.1*5.138.420157.0A.06.27
前置 enum 宣告N27644.63.117.0*4.511.1 (部分) 14.012.15.138.420157.0
使用者定義的字面量N27654.73.119.0*4.815.013.1.2*5.148.420157.0
右值引用N2118 N2844 CWG11384.3 (N2118) 4.52.916.0*(N2844) 17.0*4.511.1 (N2118) 12.0 (N2844) 14.012.15.138.420157.0*A.06.25
Lambda 表示式N2550 N2658 N29274.53.116.0*(N2658) 17.0*4.112.013.1.2*5.138.420157.0A.06.25
範圍 for 迴圈N29304.63.017.0*4.513.013.1.2*5.138.420157.0A.06.28
noexceptN30504.63.019.0*4.514.013.1.1*5.138.420157.0A.06.28
預設化的移動特殊成員函式N30534.63.019.0*4.514.05.138.420157.0A.06.25
overridefinalN2928 N3206 N32724.72.914.0*(部分) 17.0*4.812.0 (N2928) 14.013.1.1*5.138.420157.0
decltypeN2343 N32764.3 (N2343) 4.8.12.916.0*4.2 (N2343) 4.811.0 (N2343) 12.011.1 (N2343)5.138.420157.0A.06.258.52 (N2343)
C++11 功能特性提案GCCClangMSVCApple ClangEDG eccpIntel C++IBM XLC++Sun/Oracle C++Embarcadero C++ BuilderCrayPortland Group (PGI)Nvidia nvccHP aCCDigital Mars C++

C++11 庫功能特性

C++11 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Sun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫[摺疊]
型別特徵N18364.33.014.0*5.138.4
垃圾收集與基於可達性的洩漏檢測(庫支援N26706 (無操作)3.4 (無操作)是 (無操作)19.0* (無操作)
金額、時間及十六進位制浮點 I/O 操縱符N2071 N207253.819.0*5.15
C++11 功能特性提案GCC libstdc++Clang libc++Apple ClangMSVC 標準庫Sun/Oracle C++ 標準庫Embarcadero C++ Builder 標準庫Cray C++ 標準庫

轉載:
https://zh.cppreference.com/w/cpp/compiler_support
https://blog.csdn.net/jiange_zh/article/details/79356417

相關文章