我们的许多开发人员不明白从weak_ptr
创建shared_ptr
与锁定事物有什么关系。通过他们,术语'锁'首先与互斥体相关联。名称`weak_ptr :: lock()`的原因是什么?
它可能被称为例如use
或safeguard
或lease
或promote
......但是,嘿,这不是,这是我们的责任,学习的标准。
但是对于他们来说,这是一个非常糟糕的问题,以至于复制这个习惯用法的另一个类必须重新命名,导致许多代码行跟随重命名。现在我们牺牲了与标准的一致性,只是有点直觉。
有谁知道如何选择名称lock()
的选择?
真的很难提出一个有用的通用*和*有用的特定术语。 “使用”一词根本没有提供任何信息。你可能称之为“do_something”。 – molbdnilo
我完全不相信这个问题是关于SO的话题。关闭的原因之一是“主要基于意见” - 这是。这也是一个关于“为什么人们在boost :: weak_ptr第一次被开发时做出这个选择的问题?”从那时起,答案就是“向后兼容”。 –
@Martin - 同意这不是一个完美的问题,但是这里有人可能已经“在那里”,并且实际上知道答案。 –