名称`weak_ptr :: lock()`的原因是什么?

时间:2016-01-13 06:23:41

标签: c++ shared-ptr terminology naming weak-ptr

我们的许多开发人员都不明白从shared_ptr创建weak_ptr与锁定事物有什么关系。通过他们,术语“锁定”'首先与互斥体相关联。

例如,它本来可以被称为usesafeguardleasepromote ......但是,嘿,它不是,它是&#39我们有责任学习标准。

但对于他们来说,这是一个非常糟糕的问题,复制这个习惯用法的另一个类必须重命名,导致许多代码行跟随重命名。现在我们已经牺牲了与标准的一致性,只是为了一点点的直觉。

有谁知道如何选择名称lock()

1 个答案:

答案 0 :(得分:3)

它将共享对象锁定在内存中,并防止它被删除。

它与锁定互斥锁或其他任何东西无关。