0

简单的问题,我不想每次需要复制带有堆指针的对象时都分配和复制堆分配的内存,这很愚蠢,我可以将指针指向原始堆,并确保原始分配器不会删除指针。

我想我需要一个引用计数指针....女巫一个?我没有使用智能指针的经验,我只想要一个每次分配它时都会增加引用计数,如果引用计数为 0 则删除它。

是shared_ptr的情况吗?我可以闭上眼睛使用它吗?为什么不创建我自己的 refcount_ptr 来增加赋值时的引用计数并在析构函数上检查它?

4

1 回答 1

0

如果要在原始对象和复制对象之间共享指针对象,可以使用boost::shared_ptrstd::shared_ptr

为什么不创建我自己的 refcount_ptr 来增加赋值时的引用计数并在析构函数上检查它?

好吧,您可以编写自己的shared_ptr,但通常不值得重新发明轮子,除非现有的轮子不符合您的需求。

于 2012-07-23T12:53:46.547 回答