呆呆的鸟叔 2024-05-08 17:37 采纳率: 0%
浏览 7

关于智能指针的几个问题

讨论几个问题:

(1)下面函数执行完之后,pSrc会被delete嘛:

void testFunc(int* pSrc)
{
  std::share_ptr<int> sPtr;
  sPtr.reset(pSrc);
}

(2)iCount1 和iCount2分别是多少?

int* pData = new int;
std::share_ptr<int> sA;
std::share_ptr<int> sB;
sA.reset(pData);
sB.reset(pData);
int iCount1 = sA.use_count();
std::share_ptr<int> sC{pData};
std::share_ptr<int> sD(sA);
int iCount2 = sA.use_count();
  • 写回答

4条回答 默认 最新

  • 专家-皆知 2024-05-08 17:37
    关注

    引自免费微信小程序:皆我百晓生

    在这个例子中,pSrc不会被删除,因为sPtr没有接收对pSrc的 ownership。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月8日