C17
C++ 17 標準功能齊全,已被提議用於標準化。在具有這些功能的實驗支援的編譯器中,它通常被稱為 C++ 1z。
語言擴充套件
- 摺疊表達
- 使用
auto宣告非型別模板引數 - 保證副本省略
- 建構函式的模板引數推導
- 結構化繫結
- 緊湊的巢狀名稱空間
- 新屬性:
[[fallthrough]],[[nodiscard]],[[maybe_unused]] static_assert的預設訊息if和switch中的初始化程式- 內聯變數
if constexpr- 表達評估保證順序
- 過度對齊資料的動態記憶體分配
庫擴充套件
std::optionalstd::variantstd::string_viewmerge()和extract()用於關聯容器- 帶有
<filesystem>標頭的 檔案系統庫 。 - 大多數標準演算法的並行版本 (在
<algorithm>標題中 )。 - 在
<cmath>標題中 新增數學特殊函式 。 - 在 map <>,unordered_map <>,set <>和 unordered_set <>之間移動節點