class A
{
public:
static A* Instance()
{
if( NULL == m_pa )
m_pa = new A();
return m_pa;
}
private:
A() {};
~A() {};
static A* m_pa;
}
上面的只是定义好了,用时候还会碰到问题,需要加上一个句
A * A::m_pa = NULL; //注意这句话只能执行一次,不然会出现重复定义(好多人这里都没有说清楚,让我自己做时候郁闷了半天)
class A
{
public:
static A* Instance()
{
if( NULL == m_pa )
m_pa = new A();
return m_pa;
}
private:
A() {};
~A() {};
static A* m_pa;
}
上面的只是定义好了,用时候还会碰到问题,需要加上一个句
A * A::m_pa = NULL; //注意这句话只能执行一次,不然会出现重复定义(好多人这里都没有说清楚,让我自己做时候郁闷了半天)