c++新特性11 (10)shared_ptr七reset
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相关推荐
- 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 ...
- c++新特性11 (10)shared_ptr一”概述“
- python 3.0 print_Python 3.x 新特性及10大变化
python 3.x 起始版本是Python 3.0,目前的最新版本是 3.3.3 Python之父Guido van Rossum谈到了Python 3.0的构思: 一直以来,除非要打破向后兼容性, ...
- c++新特性11 (11)unique_ptr
有一个_Compressed_pair成员,类似于pair<key,value>队 // CLASS TEMPLATE unique_ptr SCALAR template <cla ...
- c++新特性11 (12)weak_ptr类定义
1. 类定义 // CLASS TEMPLATE weak_ptr template <class _Ty> class weak_ptr : public _Ptr_base<_T ...
- c++新特性11 (9)智能指针一”_Compressed_pair类“
功能类似std::pair类,但是是派生关系, key 类有一个value对象 template <class _Ty1, class _Ty2, bool = is_empty_v<_T ...
- c++新特性11 (6) =default
1. 使用=default来要求编译器生成一个默认构造函数 struct Point{ Point() = default;//不用像下面的构造函数一样要一一对成员变量赋值Point(int _x, ...
- Java 10新特性
Java 10新特性 Java 10是其23年历史中最快的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这一概念.Java 10是一个具有许多未来变化的版本,其范围和 ...
- 如约而至,Java 10 正式发布:包含 109 项新特性
如约而至,Java 10 正式发布:包含 109 项新特性 期待已久,没有跳票的 Java 10 已正式发布!你可以通过这里下载 Java 10 正式版. 此前我们曾报道过,为了更快地迭代,以及跟进社 ...
最新文章
- 北大清华合力打造通用人工智能实验班
- ios数组基本用法和排序
- Power BI 可视化交互/视觉对象交互
- 实现定时中断_EPIT 定时器,仅需做到如下几步,即可轻松配置使用
- 创建用于云支持的枢纽
- selenium中应用问题解决
- b700a怎么连蓝牙_233621蓝牙2.1无线音箱B700A小测
- android 文件mimetype_android文件关联之mime type
- 1.2-知识图谱有什么用?
- emule服务器无响应,全部服务器无响应!!!
- 刚知道,qq聊天的时候可以这么装逼
- SEGGER RTT使用总结
- pwm控制直流电机转速流程图_一例PWM直流电机转速控制器的电路图,附电路原理分析...
- SEO和SEM的区别与联系有哪些?SEM和SEO是什么?
- Message from debugger: Terminated due to signal 6
- mac抹掉磁盘重装系统未能与服务器取得联系_如何用U盘自制Mac笔记本系统重装盘...
- ST17H66 低功耗蓝牙SOC开发(3)—— OSAL系统简介
- 游戏设计模式阅读笔记18——优化模式(对象池模式)
- FatTree胖树拓扑结构
- 世界上最神奇的数字是142857
热门文章
- ubuntu系统批量端口永久开放
- TCP核心概念-慢启动,ssthresh,拥塞避免,公平性的真实含义
- 2020 蓝桥杯大学 B 组省赛模拟赛(一) C. 结果填空:七巧板
- linux配置接口多地址,Linux /etc/network/interfaces配置接口方法
- 一套mysql_mysql 命令一套
- c语言cin n1 n2,牛客等级之题N1 追债之旅 - N2 Rinne Loves Study(8.6场)
- fn hotkeys and osd_潍坊实习生活(3)and 绊 最后的进化
- Android访问瓦片地图 费流量,瓦片地图注意事项
- IDC数据中心机房该如何节能
- -32767转化为二进制_程序员需要了解的硬核知识之二进制