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

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

我们的许多开发人员不明白从 weak_ptr 创建 shared_ptr 与锁定有什么关系。在他们看来,术语“锁”首先与互斥锁相关联。

例如,它可能被称为usesafeguardleasepromote...但是嘿,它不是,学习标准是我们的责任。

但对他们来说,这是一个非常糟糕的问题,以至于必须重命名复制该习语的另一个类,导致重命名后有大量代码行。现在我们为了一点直观性而牺牲了与标准的一致性。

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

最佳答案

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

它与锁定互斥锁或类似的东西无关。

关于c++ - 名称 `weak_ptr::lock()` 的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34759746/

相关文章:

c++ - 在保留列的同时对二维 vector 进行排序

c++ - 是什么阻止编译器自动推断使用 make_shared?

c++ - 你如何获得 shared_ptr 弱计数?

java - 术语:实例变量的单字 Java 术语?

python - 推荐命名法 : a better term than "parent"?

c++ - MSVC 2017 在共享库中创建模板函数的拷贝

c++ - 优化读写锁的实现

c++ - 使用逻辑运算符时无法理解执行情况

c++ - null shared_ptr 可以访问成员函数

reference - 开发术语和定义引用