|
Expertise: Intermediate
Language: C++
October 13, 2004
A Better Way to Force a C++ Class to Be a Singleton
The tip " How to Force a C++ Class to Be a Singleton" does not provide enough flexibility for the programmer to control the creation/deletion of the singleton instance. The following code provides better control over memory and class instance.
class MySignleton
{
public:
static MySingleton* GetInstance()
{
if(!m_pThis)
m_pThis = new MySingleton();
return m_pThis;
}
static void DeleteInstance()
{ if(m_pThis)
{
delete m_pThis;
m_pThis = NULL;
}
}
private:
MySingleton(){ m_pThis = NULL;}
~MySingleton();
static MySingleton* m_pThis;
};
Srinivasan Sudharsan
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible. Submit your tip here.
|