最終更新日時:
が更新

履歴 編集

function
<atomic>

std::atomic_flag::clear(C++11)

void clear(memory_order order = memory_order_seq_cst) volatile noexcept;
void clear(memory_order order = memory_order_seq_cst) noexcept;

概要

フラグをクリアする

要件

orderが以下のメモリオーダーではないこと:

効果

orderで指定されたメモリオーダーにしたがって、アトミックにfalse値を書き込む。

戻り値

なし

例外

投げない

#include <iostream>
#include <atomic>

int main()
{
  std::atomic_flag x = ATOMIC_FLAG_INIT;

  std::cout << std::boolalpha;
  {
    // 値をtrueに設定する(変更前の値はfalse)
    bool result = x.test_and_set();
    std::cout << result << std::endl;
  }

  // 値をfalseにする
  x.clear();

  {
    // 値をtrueに設定する(変更前の値はfalse)
    bool result = x.test_and_set();
    std::cout << result << std::endl;
  }
}

出力

false
false

バージョン

言語

  • C++11

処理系

参照