getInstance()的用法
来源:互联网 发布:java中log4j获取ip 编辑:程序博客网 时间:2024/06/05 21:58
GetInstance()的用法
在写程序库代码时,有时有一个类需要被所有的其它类使用,但又要求这个类只能实例化一次,是个服务类,定义一次,其它类使用同一个这个类的实例。
例如:
class A
{
public:
A(void);
…..
}
如果在每一个需要A的类中都声明一个A类的对象,那么会导致有N个类,每A类的定义都不一样,但是这个A类是服务类,只能定义一次,定义多个N类会导致不同的内存地址。
解决这个矛盾的方法:
1. 定义一个A的全局类对象,其它类共同使用这个实例化对象,这样保证A只实例化一次,使用extern A a声明一次,在源文件中定义A a即可;
但这种方式有一个问题,就是工程之间的访问,例如pro1中有A类,pro2需要使用A类,这样就不能完全保证A类只实例化一次,可能会出现pro1和pro2各实例化一次。
2. 定义静态的实例化类(Singleton),如下:
class A
{
public:
A(void);
static A* GetInstance()
{
static A* a = NULL;
if(!a)
{
a = new A;
};
return a;
}
……
}
这样只要包含这个头文件,
A::GetInstance()->…..
这样就保证只实例化一次。
- getInstance()的用法
- GetInstance()的用法
- java中getInstance()的用法
- 单例模式及getInstance()的用法
- 关于类中的getInstance()方法的用法和作用
- getInstance()
- getInstance
- getInstance()
- getInstance
- Calendar.getInstance() 差一个月的问题
- 黑马程序员:new与getInstance的区别
- 单例模式getInstance的有效实现
- getInstance与new创建对象的区别
- getInstance与new的区别【百度】
- 使用getInstance()方法的原因及作用
- Java getInstance() 单例的正确姿势
- commons logging LogFactoryImpl的getInstance()方法
- Java中关于getInstance方法的阐述
- Class.getName和Class.getCanonicalName
- Android中File形式保存数据【安卓进化三十】
- C语言中int的取值范围是怎么算出来的
- 关于远程登录协议(Telnet,Rlogin,ssh)
- http://www.microsoft.com/china/MSDN/library/Graphics/Graphics/rediswmedc.mspx?mfr=true
- getInstance()的用法
- 我的第一篇博客
- 思考我的工作!我的生活!
- .Net 基本概念
- VS2010最大的硬伤,编译出来的程序不能在XP SP2以下的系统运行
- SELECT 与 SET 对变量赋值的区别(存储过程)
- Vim PHP环境设置文章
- 最适合中秋节送给领导的祝福语(绝对给力)
- cvNormalize 根据某种范数或者数值范围归一化数组.