关于人工智能编程中的singleton

来源:百度知道 编辑:UC知道 时间:2024/05/13 17:49:45
1.singleton是什么?
2.singleton在C++中如何实现?
3(弹性).singleton在人工智能编程里的作用和好处(主要在FSM编程中)

1. 单件模式,是设计模式的一种。
2. 原理很简单,就是利用一个静态变量来控制类被创建的数目为1.
3. 单件模式不太适合作为基类,这样的话会屏蔽派生类对原始数据的独立要求。单件的最大好处在于,它始终保持一个对象在内存,至于在人工智能编程中的好处,不太清楚,现在有这样的技术吗?

单件模式 确保一个类只有一个实例,并提供一个全局访问点。
Java版的实现:
public class Singleton
{
private volatile static Singleton uniqueInstance;
private Singleton(){}
public static Singleton getInstance()
{
if(uniqueInstance == null)
{
synchronized(Singleton.class)
{
if(uniqueInstance == null)
uniqueInstance = new Singleton();
}
}
}
};

我还有一个没考虑多线程的C++实现:
class Singleton
{
public:
static Singleton * Instance();
protected:
Singleton();
private:
static Singleton * _instance;
};

Singleton * Singleton::_instance = 0;
Singlton * Singleton::Instance()
{
if(_instance == 0)<