C 1z コンパイラーの C 17 機能
C 17 の機能は完成しており、「C 1z」をサポートするコンパイラーはほとんどの機能を実装します。 C 17 で追加された機能。C 1z コンパイラで利用可能になる主要な機能のいくつか含まれるもの:
言語機能:
- クラス テンプレートのテンプレート引数推定
- テンプレート
- なし-type テンプレート引数修正
- テンプレート<テンプレート<クラス...>typename bob> struct foo {}
- ( Folding ... 式 ) リビジョンあり
- auto x{8};これは int
- with ... とリストを使用した最新化です
Lambda:
- Constexpr lambdas
- *これをキャプチャしていますラムダ
属性:
- [[fallthrough]]、[[nodiscard]]、[[maybe_unused]] 属性
- [[attributes]] ネームスペースと列挙子
構文のクリーンアップ:
- インライン変数
- 構造化バインディングと if (init ; 状態)構文
データタイプ:
- std::variant
- std::opti onal
- std::any
- std::string_view
呼び出し内容:
- std::invoke
- std::apply
- std::make_from_tuple
- is_invocable、is_invocable_r、およびinvoke_result
ファイル システム TS v1:
アルゴリズム:
- for_each_n、reduce、およびtransform_reduce
スレッド化:
ライブラリの基礎 TS v1:
- 検索アルゴリズムと手法
- ポリモーフィック アロケーター (std::pmr)
- スプライシングや非メンバー std::size を含むコンテナの改善
スマートポインタ:
その他の変更:
- C 17 ライブラリは C99 ではなく C11 に基づいています
- 特殊な計算関数
- std::clamp
- std::void_t
注: 正確なリストについては、コンパイラのドキュメントを参照してください。特定のコンパイラでサポートされる C 17 機能のうちの 1 つです。
以上がC 1z コンパイラにはどのような C 17 機能が実装されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。