【问题标题】:Shared Pointer from Boost library来自 Boost 库的共享指针
【发布时间】:2015-02-10 10:23:41
【问题描述】:

目前,我正在使用 Boost 库中的共享指针。

class A
{
};
main
{
    boost::shared_ptr<class A> classpointer;
}

在什么情况下“classpointer”计数器会增加?

【问题讨论】:

  • 但是你没有使用来自 boost 库的共享指针。
  • 对不起 Juanchopanza 我应该使用 boost 而不是 std,现在它已被正确编辑。请帮助我。

标签: c++ boost shared-ptr


【解决方案1】:

目前,指针为空,计数为零。

当你分配一个对象的所有权时,它会递增到一,例如

classpointer.reset(new A);  // owns the object, count=1

如果您复制此指针或任何其他共享同一对象所有权的指针,则计数将增加。如果您销毁任何此类指针,或将其重新分配给不同的对象,或将其重置为空,它将递减。

通常,特定对象的计数等于当前共享其所有权的共享指针的数量。当计数变为零时,没有指针保持共享所有权,对象被自动删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多