为什么std :: unique_lock具有默认构造函数

Why does std::unique_lock have a default constructor?

本文关键字:默认 构造函数 std unique 为什么 lock      更新时间:2023-10-16

我正在观看路易·布兰迪(Louis Brandy)的演讲,当时一位观众问了这个明显的问题:

为什么std :: unique_lock具有默认的构造函数?

现在我必须知道。

unique_lock是可移动的。它具有从基本上是"空"的移动状态,而与任何静音无关。也可以通过致电release()来达到此状态。

鉴于此状态存在,以及拥有默认构造者的好处(例如能够创建任意尺寸的动态数组),最好添加创建相同状态的默认构造函数。