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