C++17
static_assertの診断メッセージを省略可能とした。
テンプレートのテンプレートのパラメータに (class の代わりに) typename を使えるようにした。
初期化リストからの型推論 (auto) 規則を新設。
入れ子の名前空間の定義を namespace X { namespace Y { ... } }等とする代わりにnamespace X::Y { ... }と書けるようにした。
名前空間や列挙型に属性を書けるようにした。
新たに[[fallthrough]]、[[maybe_unused]]、[[nodiscard]]属性を標準に追加。
UTF-8 (u8) 文字リテラル。
十六進浮動小数点リテラル。
全ての非型テンプレート引数における定数評価。
可変長引数テンプレート(英語版)における畳み込み式。
if constexpr(expression)の形式によるコンパイル時の静的if。
構造化束縛宣言。auto [a, b] = getTwoReturnValues();のように書くことができるようになった。
if文およびswitch文での初期化子。