C 17 の新機能は何ですか?
C 17 では、言語に次のような多数の機能拡張と追加が加えられています。
言語機能:
- テンプレート クラスのテンプレート引数推定
-
with ... および lists を使用した最新化 std:: を使用するためのよりクリーンな構文を提供します。 Initializer_list.
-
よりクリーンなマルチリターンとフローcontrol: 構造化バインディングや if constexpr などの機能を導入し、複雑な制御フロー シナリオを簡素化します。
-
一般化された範囲ベースの for ループ: 範囲ベースの for を拡張します。センチネルと非コンテナをサポートするループタイプ。
-
ポインターの配列変換の修正: ポインターの配列を別のポインター型に変換する際の問題に対処します。
ライブラリの追加:
-
データtype: std::variant、std::optional、std::any、および std::string_view を追加して、データの処理と操作を強化します。
-
invoke things: std の導入::invoke と std::apply を使用して、関数の呼び出しと引数を簡素化します
-
ファイル システム TS v1: ファイル システム操作用の標準化された API を提供します。
-
新しいアルゴリズム:transform_reduce、exclusive_scan、その他、並列処理用に最適化された
-
スレッド: std::shared_mutex およびその他の機能によりスレッド機能を強化します。
-
Library Fundamentals TS v1: 検索アルゴリズムの機能を提供します。 、ポリモーフィック アロケーター、その他
-
コンテナの改善: コンテナの処理を改善するために、try_emplace、insert_or_assign、splicing などを追加します。
-
スマート ポインタの変更: 修正と修正が含まれます。 unique_ptr とweak_from_this.
-
その他: std::clamp、std::lcm などのユーティリティ関数が含まれており、標準ライブラリの機能を拡張します。
非推奨となり削除されました機能:
-
削除: キーワード、トライグラフ、iOS エイリアスなどを登録します。
-
非推奨:標準の アロケーター::関数といくつかのC
注:
- 一部の機能は、C 17 および追加のアップデートを含む C 1z をサポートするまで、すべてのコンパイラーで使用できない場合があります。 .
- 包括的な詳細と仕様については、公式ドキュメントを参照してください。
以上がC 17 の新機能: 主な機能と機能強化に関するガイド?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。