C ++ 20までmemory_order_releaseがサポートされるのはなぜですか?

qhsong

https://en.cppreference.com/w/cpp/atomic/memory_order

cppreferenceから、memory_order_releaseはC ++ 20まで使用できますか?C ++ Standardがこれを削除する理由と、その後に使用する必要があるmemory_orderを誰かが説明できますか?

バリー

これは、cppreferenceのフォーマットに関する単なる誤解です。「C ++ 20まで」というのはその1行ではなく、ブロック全体です。

memory_order_releaseC ++ 20では削除されません。それmemory_order自体が弱い列挙型から再指定されただけです

typedef enum memory_order {
    memory_order_relaxed,
    memory_order_consume,
    memory_order_acquire,
    memory_order_release,
    memory_order_acq_rel,
    memory_order_seq_cst
} memory_order;

列挙型クラスへ(P0439の結果として):

enum class memory_order : /*unspecified*/ {
    relaxed, consume, acquire, release, acq_rel, seq_cst
};
inline constexpr memory_order memory_order_relaxed = memory_order::relaxed;
inline constexpr memory_order memory_order_consume = memory_order::consume;
inline constexpr memory_order memory_order_acquire = memory_order::acquire;
inline constexpr memory_order memory_order_release = memory_order::release;
inline constexpr memory_order memory_order_acq_rel = memory_order::acq_rel;
inline constexpr memory_order memory_order_seq_cst = memory_order::seq_cst;

6つのメモリ操作はすべて引き続き存在し、同じスペルでアクセスできます(ただしconsume、お勧めしません)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C ++ 20が順不同の指定初期化子をサポートしないのはなぜですか?

分類Dev

C ++ 20が「voidf(Concept const auto&)」をサポートしないのはなぜですか?

分類Dev

C ++ 20 std :: condition_variableがstd :: stop_tokenをサポートしないのはなぜですか?

分類Dev

C ++が強く型付けされた省略記号をサポートしないのはなぜですか?

分類Dev

「C41992フェーズ名ルックアップはC ++ / CLI、C ++ / CX、またはopenmpではサポートされていません」という警告が表示されるのはなぜですか?

分類Dev

`std :: reference_wrapper`がc ++ 17で非推奨になり、c ++ 20で削除されるのはなぜですか?

分類Dev

C ++ 20の新しいatomic_flag機能はg ++ / gccでサポートされていますか?

分類Dev

Linuxで繰り返し開始ベースのi2c操作がサポートされていないのはなぜですか?

分類Dev

C ++ 20でstd :: ssize()が導入されたのはなぜですか?

分類Dev

C ++が実装で純粋仮想関数をサポートするのはなぜですか?

分類Dev

C ++ 11がC99として指定された初期化子リストをサポートしないのはなぜですか?

分類Dev

C ++で三角形の外側にポイントが生成されるのはなぜですか?

分類Dev

LinuxでC#コードのトレースがspeedscopeにインポートされると失敗するのはなぜですか?

分類Dev

MOVx86命令はC ++ 11 memory_order_releaseアトミックストアを実装していますか?

分類Dev

Cが負の配列インデックスをサポートするのはなぜですか?

分類Dev

C ++でポインターをインクリメントした後、NULL / 0ではなく値が出力されるのはなぜですか?

分類Dev

C ++ 20以降、コンストラクターが明示的にデフォルトまたは削除されている場合、集約の初期化が機能しなくなるのはなぜですか?

分類Dev

std :: rel_ops :: operatorsがC ++ 20で廃止されるのはなぜですか?

分類Dev

C#を使用してログファイルに書き込もうとすると、「URI形式はサポートされていません」という例外が発生するのはなぜですか?

分類Dev

Cポインターが8バイトの大きさであるにもかかわらず、Cポインターが指すデータのタイプであることが推奨されるのはなぜですか?

分類Dev

HTTPS / SSLリクエストが実行されると、このC ++ ASIO、BEASTサーバーが不良状態になるのはなぜですか

分類Dev

C ++ 20サポートを確認するにはどうすればよいですか?C ++ 20の__cplusplusの値は何ですか?

分類Dev

C ++がパラメトリック多相をサポートしないと言われるのはなぜですか?

分類Dev

Cでの加算中に整数型がプロモートされるのはなぜですか?

分類Dev

C ++ 20は、括弧で囲まれた値のリストから集計を初期化しますが、内部配列はサポートしていません

分類Dev

私のモニターは3xUSB 3.0ポートを備えていると主張していますが、モニターがUSB-C経由で接続されていると、正しく機能しないのはなぜですか?

分類Dev

msxml6 をインポートするときに C4192 が表示されないのはなぜですか?

分類Dev

Cでこのポインター演算が許可されないのはなぜですか?

分類Dev

Cでこのポインター演算が許可されないのはなぜですか?

Related 関連記事

  1. 1

    C ++ 20が順不同の指定初期化子をサポートしないのはなぜですか?

  2. 2

    C ++ 20が「voidf(Concept const auto&)」をサポートしないのはなぜですか?

  3. 3

    C ++ 20 std :: condition_variableがstd :: stop_tokenをサポートしないのはなぜですか?

  4. 4

    C ++が強く型付けされた省略記号をサポートしないのはなぜですか?

  5. 5

    「C41992フェーズ名ルックアップはC ++ / CLI、C ++ / CX、またはopenmpではサポートされていません」という警告が表示されるのはなぜですか?

  6. 6

    `std :: reference_wrapper`がc ++ 17で非推奨になり、c ++ 20で削除されるのはなぜですか?

  7. 7

    C ++ 20の新しいatomic_flag機能はg ++ / gccでサポートされていますか?

  8. 8

    Linuxで繰り返し開始ベースのi2c操作がサポートされていないのはなぜですか?

  9. 9

    C ++ 20でstd :: ssize()が導入されたのはなぜですか?

  10. 10

    C ++が実装で純粋仮想関数をサポートするのはなぜですか?

  11. 11

    C ++ 11がC99として指定された初期化子リストをサポートしないのはなぜですか?

  12. 12

    C ++で三角形の外側にポイントが生成されるのはなぜですか?

  13. 13

    LinuxでC#コードのトレースがspeedscopeにインポートされると失敗するのはなぜですか?

  14. 14

    MOVx86命令はC ++ 11 memory_order_releaseアトミックストアを実装していますか?

  15. 15

    Cが負の配列インデックスをサポートするのはなぜですか?

  16. 16

    C ++でポインターをインクリメントした後、NULL / 0ではなく値が出力されるのはなぜですか?

  17. 17

    C ++ 20以降、コンストラクターが明示的にデフォルトまたは削除されている場合、集約の初期化が機能しなくなるのはなぜですか?

  18. 18

    std :: rel_ops :: operatorsがC ++ 20で廃止されるのはなぜですか?

  19. 19

    C#を使用してログファイルに書き込もうとすると、「URI形式はサポートされていません」という例外が発生するのはなぜですか?

  20. 20

    Cポインターが8バイトの大きさであるにもかかわらず、Cポインターが指すデータのタイプであることが推奨されるのはなぜですか?

  21. 21

    HTTPS / SSLリクエストが実行されると、このC ++ ASIO、BEASTサーバーが不良状態になるのはなぜですか

  22. 22

    C ++ 20サポートを確認するにはどうすればよいですか?C ++ 20の__cplusplusの値は何ですか?

  23. 23

    C ++がパラメトリック多相をサポートしないと言われるのはなぜですか?

  24. 24

    Cでの加算中に整数型がプロモートされるのはなぜですか?

  25. 25

    C ++ 20は、括弧で囲まれた値のリストから集計を初期化しますが、内部配列はサポートしていません

  26. 26

    私のモニターは3xUSB 3.0ポートを備えていると主張していますが、モニターがUSB-C経由で接続されていると、正しく機能しないのはなぜですか?

  27. 27

    msxml6 をインポートするときに C4192 が表示されないのはなぜですか?

  28. 28

    Cでこのポインター演算が許可されないのはなぜですか?

  29. 29

    Cでこのポインター演算が許可されないのはなぜですか?

ホットタグ

アーカイブ