「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C ++ 17で導入されたキー言語とライブラリの機能は何ですか?

C ++ 17で導入されたキー言語とライブラリの機能は何ですか?

2025-02-06に投稿しました
ブラウズ:322

What are the Key Language and Library Features Introduced in C  17?

c 17

の新機能c 17の機能開発が完了した後、いくつかの新しい言語機能とライブラリの追加が導入されました。

言語機能:

  • 任意のタイプの値の表現テンプレート

    • lembda拡張機能
    constexpr lambdas
  • これをlambdas

    • 属性の導入: ] [[フォールスルー]]、[[nodiscard]]、[[mayce_unused]]
  • Syntax cleanup:

    などの新しい属性の紹介

    inline変数
    • 単純化された名前空間構文:名前空間a :: b
    no-throw式:shrow()and noexcept(true)
  • コントロールフローの改善:
    • 解除値のための構造化されたバインディング
    • if(init;条件)および強化されたフロー制御のスイッチ(init;条件)
    ループ用の一般化範囲ベース
  • 条件付きコンパイルの場合はconstexpr ]]その他の注目すべき機能:

    hexadecimal float pointリテラル
    • の列挙の直接的なリストの開始の順序付けの順序付け
    • スレッドの前方進捗保証ライブラリの追加:
    データタイプ:
  • std ::さまざまなタイプの値を表すためのバリアント

    std: :オプションの値を表現するためのオプション
    • std ::任意のタイプの値を表すための任意の任意の任意のタイプ
    • std :: string_view文字列参照の効率的な処理
    • STD ::タイプのないデータを表すためのBYTE
    • コール可能なハンドリング:
  • std :: invoke for Generic Callable Invocution

std :: tupleベースの呼び出し可能な呼び出しを申請します std :: make_from_tuple tupple

紹介is_invocable and関連特性

    ファイルシステムライブラリ:
  • ファイルシステム技術仕様(ts)

for_each_n、reduce、transform_reduceなど
  • スレッディングエンハンスメント:
原子保証とハードウェア干渉サイズの検出

ライブラリファンダメンタルズTS追加:

多型allocator(pmr)

    containerの改善:

マップ、セット、および秩序化されていないコンテナのスプライシング 文字列のアクセス

  • スマートポインター:
[

[

  • unique_ptr
  • nutered pointers

misc:

  • を管理するためのweak_from_thisの紹介]標準ライブラリのC99の代わりにC11を使用
  • 予約済みstd [0-9]将来の標準ライブラリの名前空間
特別な数学関数の露出

std :: clamp、std :: gcd、およびlcm :: lcm

std :: uncaught_exceptions
  • std :: as_const、std :: bool_constant、およびさまざまなテンプレートユーティリティ
  • std :: chronoライブラリ

ブールオペレーターの紹介(std :: conjunction、std :: disjunction、std: :否定) std

  • 違反の機能:
  • 削除の削除機能:、result_ofなど
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3