1. 使用场景

p.reset() 若p是唯一指向其对象的shared_ptr,reset会释放此对象。
p.reset(q) 释放原有对象的同时,若传递了可选的内置参数指针q,会令p指向q,否则会将p置为空
p.reset(q,d) 若还传递了参数d,将会调用d而不是delete来释放q

1.1 reset函数定义

    void reset() noexcept { // release resource and convert to empty shared_ptr objectshared_ptr().swap(*this);}template <class _Ux>void reset(_Ux* _Px) { // release, take ownership of _Pxshared_ptr(_Px).swap(*this);}template <class _Ux, class _Dx>void reset(_Ux* _Px, _Dx _Dt) { // release, take ownership of _Px, with deleter _Dtshared_ptr(_Px, _Dt).swap(*this);}template <class _Ux, class _Dx, class _Alloc>void reset(_Ux* _Px, _Dx _Dt, _Alloc _Ax) { // release, take ownership of _Px, with deleter _Dt, allocator _Axshared_ptr(_Px, _Dt, _Ax).swap(*this);}

1.2 swap函数定义

    void swap(shared_ptr& _Other) noexcept {this->_Swap(_Other);}

c++新特性11 (10)shared_ptr七reset相关推荐

  1. c++新特性11 (10)shared_ptr六”构造函数unique_ptr参数“

    1. 构造函数 shared_ptr p(u) p从unique_ptr u中接管了对象的所有权:将u置为空 template <class _Ux, class _Dx,enable_if_t ...

  2. c++新特性11 (10)shared_ptr一”概述“

  3. python 3.0 print_Python 3.x 新特性及10大变化

    python 3.x 起始版本是Python 3.0,目前的最新版本是 3.3.3 Python之父Guido van Rossum谈到了Python 3.0的构思: 一直以来,除非要打破向后兼容性, ...

  4. c++新特性11 (11)unique_ptr

    有一个_Compressed_pair成员,类似于pair<key,value>队 // CLASS TEMPLATE unique_ptr SCALAR template <cla ...

  5. c++新特性11 (12)weak_ptr类定义

    1. 类定义 // CLASS TEMPLATE weak_ptr template <class _Ty> class weak_ptr : public _Ptr_base<_T ...

  6. c++新特性11 (9)智能指针一”_Compressed_pair类“

    功能类似std::pair类,但是是派生关系, key 类有一个value对象 template <class _Ty1, class _Ty2, bool = is_empty_v<_T ...

  7. c++新特性11 (6) =default

    1. 使用=default来要求编译器生成一个默认构造函数 struct Point{ Point() = default;//不用像下面的构造函数一样要一一对成员变量赋值Point(int _x, ...

  8. Java 10新特性

    Java 10新特性 Java 10是其23年历史中最快的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这一概念.Java 10是一个具有许多未来变化的版本,其范围和 ...

  9. 如约而至,Java 10 正式发布:包含 109 项新特性

    如约而至,Java 10 正式发布:包含 109 项新特性 期待已久,没有跳票的 Java 10 已正式发布!你可以通过这里下载 Java 10 正式版. 此前我们曾报道过,为了更快地迭代,以及跟进社 ...

最新文章

  1. 北大清华合力打造通用人工智能实验班
  2. ios数组基本用法和排序
  3. Power BI 可视化交互/视觉对象交互
  4. 实现定时中断_EPIT 定时器,仅需做到如下几步,即可轻松配置使用
  5. 创建用于云支持的枢纽
  6. selenium中应用问题解决
  7. b700a怎么连蓝牙_233621蓝牙2.1无线音箱B700A小测
  8. android 文件mimetype_android文件关联之mime type
  9. 1.2-知识图谱有什么用?
  10. emule服务器无响应,全部服务器无响应!!!
  11. 刚知道,qq聊天的时候可以这么装逼
  12. SEGGER RTT使用总结
  13. pwm控制直流电机转速流程图_一例PWM直流电机转速控制器的电路图,附电路原理分析...
  14. SEO和SEM的区别与联系有哪些?SEM和SEO是什么?
  15. Message from debugger: Terminated due to signal 6
  16. mac抹掉磁盘重装系统未能与服务器取得联系_如何用U盘自制Mac笔记本系统重装盘...
  17. ST17H66 低功耗蓝牙SOC开发(3)—— OSAL系统简介
  18. 游戏设计模式阅读笔记18——优化模式(对象池模式)
  19. FatTree胖树拓扑结构
  20. 世界上最神奇的数字是142857

热门文章

  1. ubuntu系统批量端口永久开放
  2. TCP核心概念-慢启动,ssthresh,拥塞避免,公平性的真实含义
  3. 2020 蓝桥杯大学 B 组省赛模拟赛(一) C. 结果填空:七巧板
  4. linux配置接口多地址,Linux /etc/network/interfaces配置接口方法
  5. 一套mysql_mysql 命令一套
  6. c语言cin n1 n2,牛客等级之题N1 追债之旅 - N2 Rinne Loves Study(8.6场)
  7. fn hotkeys and osd_潍坊实习生活(3)and 绊 最后的进化
  8. Android访问瓦片地图 费流量,瓦片地图注意事项
  9. IDC数据中心机房该如何节能
  10. -32767转化为二进制_程序员需要了解的硬核知识之二进制