C++?????????
???????????? ???????[ 2013/1/17 10:16:53 ] ????????
??????????????????????????????????????ù???????????????????????????????????????????????????????????????????г?????鹲????к??????????????????飬??????????????GUI????????????MODEM??????????????????????綽??????????????????????????????PC??????????
???????????????????????????C++?У????????????????????????????????????????????????????? ?????????????????????????????????????????????????——?????????????????????????????????????????
?????????????????и??????????????????????????????????????о?????????????????????????????е?????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Singleton??????????????????????????????????????????????????Instance()????????????????????
???????????£?
class CSingleton
{
//???????
public:
static CSingleton* GetInstance()
{
if ( m_pInstance == NULL ) //?ж???????ε???
m_pInstance = new CSingleton();
return m_pInstance;
}
private:
CSingleton(){};
static CSingleton * m_pInstance;
};
??????????????????????GetInstance()???????????????????????????κδ?????????????????????????????????е??GetInstance()?????????????????????????????????????α????????????????????????????——????GetInstance()???????????????????????
CSingleton* p1 = CSingleton :: GetInstance();
CSingleton* p2 = p1->GetInstance();
CSingleton & ref = * CSingleton :: GetInstance();
??????GetInstance?????????????????????????????????????????????????????????
??????????CSingleton????????????
????????????????????????m_pInstance??????????е??
??????????????е?????????????????????????????????????????????
?????????????????е??????????????????????????
??????????????????????????????????о??????????????m_pInstance?????????????????????????????????????????????????????У?
??????????????????????б????????????????????????????????????????????????????????????????????????????????????
?????????????????????GetInstance()????????????????delete????????????????????????????????a?????????????????????????????????????????????????????delete?????д????????GetInstance??????
????????????????????????????????????????????????????????????????????????????е???????????????????????????????С?
?????????????????????????????????????????е???????????????????????????е???????????????????Щ????????????????????????????????????????????????ж????????????????????????????????????????????????????????????????????????е?CGarbo??Garbo??????????????
class CSingleton
{
//???????
public:
static CSingleton* GetInstance();
private:
CSingleton(){};
static CSingleton * m_pInstance;
class CGarbo //????????????????????????CSingleton?????
{
public:
~CGarbo()
{
if( CSingleton::m_pInstance )
delete CSingleton::m_pInstance;
}
}
Static CGabor Garbo; //????????????????????????????????????????????????
};
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11