为什么 std::unique_lock 有默认构造函数?
Why does std::unique_lock have a default constructor?
我在看 Louis Brandy 的 this talk 时,一位观众问了这个显而易见的问题:
Why does std::unique_lock have a default constructor?
现在我必须知道了。
unique_lock
可移动。它有一个基本上 "empty" 的移出状态,不与任何互斥体关联。也可以通过调用 release()
.
来达到此状态
鉴于此状态的存在,以及拥有默认构造函数的好处(例如能够创建任意大小的动态数组),添加创建相同状态的默认构造函数是个好主意。
我在看 Louis Brandy 的 this talk 时,一位观众问了这个显而易见的问题:
Why does std::unique_lock have a default constructor?
现在我必须知道了。
unique_lock
可移动。它有一个基本上 "empty" 的移出状态,不与任何互斥体关联。也可以通过调用 release()
.
鉴于此状态的存在,以及拥有默认构造函数的好处(例如能够创建任意大小的动态数组),添加创建相同状态的默认构造函数是个好主意。