小编use*_*210的帖子

C++中的共享,弱和懒惰指针

有没有人知道的实现shared_ptr,并weak_ptr连同延迟初始化的合作伙伴?这些课程的要求是:

  • lazy_ptr类是允许客户端后构造对象(如果有的话),而不需要构造函数实现

  • 一个weak_lazy_ptr有三种可能状态的类:尚未构造(不会锁定到a shared_ptr),构造(将锁定到a shared_ptr)和销毁(不会锁定到a shared_ptr)

我创建了一些类,并没有做的工作完全是前一阵子(见这里CVU文章)所使用shared_ptr,并weak_ptr在他们的执行.使用共享和弱指针而不是与它们集成的模型的主要问题如下:

  1. 一旦所有lazy_ptr对象超出范围,即使其他客户端持有shared_ptr版本,也无法再锁定任何弱引用

  2. 不能控制不同线程上的对象的构造

我很感激任何指向其他解决这些问题的尝试,或者对这个领域可能正在进行的任何工作的任何指示.

c++ shared-ptr weak-ptr lazy-initialization

13
推荐指数
1
解决办法
1984
查看次数

标签 统计

c++ ×1

lazy-initialization ×1

shared-ptr ×1

weak-ptr ×1