单例模式的概念理解可以参考以下两个网站的内容:

http://blog.csdn.net/zhengzhb/article/details/7331369

http://blog.csdn.net/hackbuteer1/article/details/7460019

我这里写个VS2008编译通过的单例模式

首先在CSingleton.h中代码如下:

 1 #include <iostream>
 2 class CSingleton
 3 {
 4 private:
 5     static CSingleton *m_pInstance;
 6     CSingleton()
 7     {}
 8     class CGarbor
 9     {
10         public:
11             ~CGarbor()
12             {
13                 if(NULL == m_pInstance)
14                 {
15                     delete m_pInstance;
16                 }
17             }
18     };
19     static CGarbor m_Garbor;
20 public:
21     static CSingleton *GetInstance();
22 };

然后CSingleton.cpp中代码如下:

1 #include "CSingleton.h"
2 
3 CSingleton *CSingleton :: m_pInstance = NULL;
4 CSingleton *CSingleton :: GetInstance()
5 {
6     if(NULL == m_pInstance)
7         m_pInstance = new CSingleton();
8     return m_pInstance;
9 }

main函数中就可以这么调用了

1 #include "CSingleton.h"
2 CSingleton *pInstance = CSingleton :: GetInstance();

这是C++编写的一个简单的单例模式。