• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <atomic>

    std::atomic_flag_clear

    namespace std {
      void
        atomic_flag_clear(volatile atomic_flag* object) noexcept; // (1) C++11
    
      void
        atomic_flag_clear(atomic_flag* object) noexcept;          // (2) C++26
      constexpr void
        atomic_flag_clear(atomic_flag* object) noexcept;          // (2) C++26
    }
    

    概要

    アトミックにフラグをクリアする

    効果

    memory_order_seq_cstのメモリオーダーにしたがって、アトミックにfalse値を書き込む。

    戻り値

    なし

    例外

    投げない

    #include <iostream>
    #include <atomic>
    
    int main()
    {
      std::atomic_flag x = ATOMIC_FLAG_INIT;
    
      std::cout << std::boolalpha;
      {
        // 値をtrueに設定する(変更前の値はfalse)
        bool result = std::atomic_flag_test_and_set(&x);
        std::cout << result << std::endl;
      }
    
      // 値をfalseにする
      std::atomic_flag_clear(&x);
    
      {
        // 値をtrueに設定する(変更前の値はfalse)
        bool result = std::atomic_flag_test_and_set(&x);
        std::cout << result << std::endl;
      }
    }
    

    出力

    false
    false
    

    バージョン

    言語

    • C++11

    処理系

    参照