<mutex>

std::once_flag

struct once_flag;
call_once的標誌引數型別
此型別的物件用作call_once的引數。

在不同執行緒中對call_once使用相同的物件會導致併發呼叫時僅執行一次。

它是一個不可複製不可移動預設可構造的類,在<mutex>中宣告,原型如下:
1
2
3
4
5
struct once_flag {
  constexpr once_flag() noexcept;
  once_flag (const once_flag&) = delete;
  once_flag& operator= (const once_flag&) = delete;
};

另見