recursive_mutex(); // (1)
recursive_mutex(const recursive_mutex&) = delete; // (2)
recursive_mutexオブジェクトの構築
- (1) : デフォルトコンストラクタ。
recursive_mutex
オブジェクトの初期化を行う。 - (2) : コピーコンストラクタ。コピー不可。
例外
この関数は、以下のerror conditionを持つsystem_error
例外オブジェクトを送出する可能性がある:
resource_unavailable_try_again
: native handle型の計算ができないoperation_not_permitted
: スレッドにこの操作を行う権限がないdevice_or_resource_busy
: native handle型の計算がロックされているinvalid_argument
: ミューテックスを構築する一部のnative handle型計算が正しくない
備考
非トリビアルなコンストラクタが定義されるため、ムーブコンストラクタは定義されない。
例
#include <mutex>
int main()
{
// デフォルト構築:ミューテックスの初期化
std::recursive_mutex mtx;
}
出力
バージョン
言語
- C++11
処理系
- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2012 ✅, 2013 ✅, 2015 ✅
- 2012はコピーコンストラクタのdeleteに対応していないため、代わりにprivateで宣言のみ行う手法で代用されている。