我一直在考虑使用
如果我在资源管理器中使用
还是说我只是想通过代码中一些措辞强制执行协议?
感谢您对此的任何想法。
unique_ptr
与shared_ptr
以及own_solution
之间的选择。我已经排除了后者,因为我几乎肯定会做错,但是我对unique_ptr
和shared_ptr
都有问题,因为它们都不能精确捕捉到我想要的内容。我想创建一个资源管理器,明确地拥有一个资源,但是我也想让资源管理器分发资源的引用。如果我在资源管理器中使用
unique_ptr
并分发裸指针,则可能会出现逃逸(尽管这可能违反了类“合同”)。如果我使用shared_ptr
并分发weak_ptr
,则没有任何阻止调用者将weak_ptr
转换为shared_ptr
并存储,从而可能创建循环引用或更糟糕的情况,即资源存在于资源管理器的生命周期之外。所以我想要的是一个可以解除引用的weak_ptr
,但不可能将其转换为shared_ptr
。还是说我只是想通过代码中一些措辞强制执行协议?
感谢您对此的任何想法。