explicit scoped_lock( MutexTypes&... m );
|
(1) | (C++17 起) |
scoped_lock( std::adopt_lock_t, MutexTypes&... m );
|
(2) | (C++17 起) |
scoped_lock( const scoped_lock& ) = delete;
|
(3) | (C++17 起) |
取得给定互斥 m
的所有权。
MutexTypes
之一不是递归互斥,且当前线程已占有 m... 中对应的参数,则行为未定义。m...
中所有互斥,则行为未定义。若 m
在 scoped_lock
对象之前被销毁,则行为未定义。
m | - | 要获得其所有权的互斥 |
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
DR | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
P0739R0 | C++17 | adopt_lock_t 参数在最后,妨碍类模板实参推导
|
移到最前 |