cppopp
设计模式之单件模式
在单线程中实现代码很简单:
#include
"
stdafx.h
"
#include
<
iostream
>
#include
"
boost/shared_ptr.hpp
"
using
namespace
std;
using
namespace
boost;
class
singleTon
{
public
:
static
singleTon
*
getInstance()
{
if
(mySingleton.
get
()
==
NULL)
{
mySingleton
=
shared_ptr
<
singleTon
>
(
new
singleTon());
return
mySingleton.
get
();
}
else
{
return
mySingleton.
get
();
}
}
;
private
:
static
shared_ptr
<
singleTon
>
mySingleton;
singleTon()
{
std::cout
<<
"
singletom has been created!
"
<<
std::endl;
}
;
}
;
shared_ptr
<
singleTon
>
singleTon::mySingleton
=
shared_ptr
<
singleTon
>
();
int
_tmain(
int
argc, _TCHAR
*
argv[])
{
for
(
int
i
=
0
; i
<
100
; i
++
)
{
singleTon::getInstance();
}
return
0
;
}
这里利用shared_ptr来进行资源管理。
这个设计模式的思想就是在类中设置一个静态对象,然后用singleTon::getInstance()这个函数去调用这个静态对象
posted on 2012-04-25 11:27
sheng
阅读(417)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
导航
C++博客
首页
新随笔
联系
聚合
管理
<
2012年4月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
统计
随笔 - 27
文章 - 0
评论 - 4
引用 - 0
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔档案
2018年11月 (1)
2016年8月 (2)
2016年6月 (1)
2016年4月 (4)
2013年4月 (1)
2013年3月 (1)
2013年1月 (1)
2012年11月 (5)
2012年8月 (3)
2012年6月 (1)
2012年5月 (1)
2012年4月 (3)
2011年12月 (3)
收藏夹
timer
(rss)
同行
(rss)
同行
搜索
最新评论
1. re: windows 下进程是否启动检测
这种方法还有缺陷的
如果在多用户的机器下, 不同的用户下看不到对方用户下的进程
--leng
2. re: windows 下进程是否启动检测
这个没有必要用互斥对象吧,只是读进程表而已@augustheart
--sheng
3. re: windows 下进程是否启动检测
不用互斥对象么?
--augustheart
4. re: 设计模式之策略模式[未登录]
Good...
--eryar
阅读排行榜
1. 利用boost 来进行xml解析(13270)
2. DLL中传递STL参数,vector对象作为dll参数传递等问题(转)(6656)
3. windows 下检测进程cpu使用率(3707)
4. luabind和c++相互调用(3655)
5. 关于for循环的执行效率问题(3221)
评论排行榜
1. windows 下进程是否启动检测(3)
2. 设计模式之策略模式(1)
3. 设计模式之template method模式(0)
4. 设计模式之观察者模式(0)
5. boost安装(0)