shared_ptr
来源:互联网 发布:js event.target 编辑:程序博客网 时间:2024/04/20 18:38
// mem.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
//#include "../../../../../linux/mcsf/uih/include/external/boost/shared_ptr.hpp"
#include "boost/shared_ptr.hpp"
using namespace boost;
typedef shared_ptr<int> pInt;
class Shared
{
private:
pInt pa;
public:
Shared (pInt p): pa(p){}
void print()
{
std::cout<<" pa.use_count() = "<<pa.use_count()<<std::endl
<<" pa.value = "<<*pa<<std::endl;
}
};
void print(pInt pa)
{
std::cout<<" pa.use_count() = "<<pa.use_count()<<std::endl
<<" pa.value = "<<*pa<<std::endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
shared_ptr<int> pa(new int(100));
print(pa);
std::cout<<"=================="<<std::endl;
Shared s1(pa),s2(pa);
s1.print();
s2.print();
shared_ptr<int> sp (new int(10));
assert(sp);
*sp = 100;
assert(*sp == 100);
shared_ptr<int> sp2 = sp;
assert(sp == sp2);
assert(sp2.use_count() == 2);
sp2.reset(); // sp2 is null, but sp is still exist
assert(!sp2);
return 0;
}
输出结果
pa.use_count() = 2
pa.value = 100
==================
pa.use_count() = 3
pa.value = 100
pa.use_count() = 3
pa.value = 100
请按任意键继续. . .
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr()
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- shared_ptr
- Java transient关键字使用小结及一些需要注意的细节
- android 线段与矩形碰撞检测
- 修改Eclipse为黑色主题
- 进口车在国外到底卖多少钱
- 简单碰撞检测的3D游戏
- shared_ptr
- Android休眠唤醒驱动流程分析(一)
- 黑马程序员_引用计数器
- UITextField小结
- 马氏距离与协方差矩阵
- eclipse打开当前文件所在文件夹的两种方法
- STL之函数对象
- 网络编程常用术语:同步、异步、长链接、短链接、心跳包、单工、半双工、全双工
- 用var_dump调试数组输出的时候,后面层级数组显示不出来