我有一个数据结构。 它提供用于在其内部集合中添加或删除项的 API。 在内部,该结构使用std::unique_ptr
来维持每个项目的使用寿命。 这意味着"添加"一个项目会隐式地将内存的所有权转移到我的数据结构中。
我已经在这个API的评论中清楚地记录了这一点,但我想知道;是否有一个事实上的名字或动词可以附加到我的API上,以引起人们对这个重要副作用的注意?
例如:AddItem(Item* item)
似乎并不充分意味着所有权的转让。 RegisterItem
、CreateItem
TransferItem
似乎都暗示着不同的东西。
传达所有权转让的方法是使用std::unique_ptr
作为参数:
AddItem(std::unique_ptr<Item> item)