博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
std::shared_ptr
阅读量:4635 次
发布时间:2019-06-09

本文共 864 字,大约阅读时间需要 2 分钟。

/*auto_ptr:会发生语义转移,不支持应用计数scoped_ptr:不支持复制,只有自己可以管理指针scoped_array:支持数组shared_ptr:最好的智能指针,支持引用计数,容器操作等,复制指针时引用计数加一,当复制的对象析构时引用计数减1,当引用计数为0是析构对象*/#include 
#include
using namespace std;class shared{private: shared_ptr
p;public: shared(shared_ptr
_p):p(_p){} void print() { cout << "count:" << p.use_count() << "v = " << *p << endl; }};void print_func(shared_ptr
p){ cout << "count:" << p.use_count() << "v = " << *p << endl; }//退出函数时,p自动析构,引用计数减1int main(){ shared_ptr
p(new int(100)); shared s1(p); { shared s2(p); s2.print();//3 } s1.print();//2 *p = 20; print_func(p);//3 s1.print();//2 getchar();} //我一直想知道shared_ptr和auto_ptr什么区别,现在总算清楚了

转载于:https://www.cnblogs.com/zzyoucan/p/3802714.html

你可能感兴趣的文章
如今的移动操作系统,写在2013年——android篇 by 伊一线天
查看>>
vs2010快捷键
查看>>
1.three.js世界的4大要素
查看>>
数据结构与算法 Python语言描述 笔记
查看>>
64 装饰器函数: 母版 csrf防御机制 cookie
查看>>
类的定义、成员定义修饰符
查看>>
mybatis $和#源代码分析
查看>>
[高精度乘法]BZOJ 1754 [Usaco2005 qua]Bull Math
查看>>
1030 完美数列 (25 分)二分
查看>>
dedecms代码研究六
查看>>
HDU 4857 逃生(拓扑排序)
查看>>
PictureBox
查看>>
力扣——顶端迭代器
查看>>
echarts入门
查看>>
tihs 关键字
查看>>
java 循环 基本类型
查看>>
Oracle lower() Upper()函数
查看>>
Nexus 安装(Linux 环境)
查看>>
java 代码优化
查看>>
设计模式中类之间的关系
查看>>