首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >std::shared_ptr: reset()与赋值

std::shared_ptr: reset()与赋值
EN

Stack Overflow用户
提问于 2015-07-16 02:52:18
回答 4查看 30.3K关注 0票数 55

这是一个基本的问题,但我没有找到之前关于它的帖子。以下问题的标题听起来可能与我的问题相同,但问题本身与标题不匹配:is it better to use shared_ptr.reset or operator =?

我对std::shared_ptrreset()成员函数的用途感到困惑:除了赋值运算符之外,它还贡献了什么?

具体地说,给出了定义:

代码语言:javascript
复制
auto p = std::make_shared<int>(1);

  1. 是以下两行的等价物:

P= std::make_shared(5);p.reset(new int(5));

P= nullptr;p.reset();

如果这两行在两种情况下都是等价的,那么reset()的用途是什么?

编辑:让我重新表述这个问题,以更好地强调其要点。问题是:有没有这样一种情况,reset()让我们实现了一些没有它就不容易实现的事情?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31438714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档