Hi Folks,
I have a small query related to singleton class. Upto my knowledge , if we
try to delete the static object of singleton class , stack overflow happens.
But if we do the same from main() , stack overflow wont happen. I will keep an
example to make it simple.
#include "sngle.h"
MySngleTon* MySngleTon::MyCreateInstance()
{
if(!obj)
{
obj = new MySngleTon();
}
return obj;
};
MySngleTon::MySngleTon()
{
};
MySngleTon::MySngleTon(const MySngleTon &obj)
{
};
MySngleTon::~MySngleTon()
{
//cout<<"I am in desc"<<endl;
delete obj; // stack overflow occurs
}
/*void MySngleTon::operator delete(void *p)
{
delete p;
}
int MySngleTon::DestroyInstance()
{
if(refCount >1 )
refCount--;
else
{
}
}*/
int main()
{
MySngleTon *x=MySngleTon::MyCreateInstance();
MySngleTon *y=MySngleTon::MyCreateInstance();
delete x; (here even x internally contain one more static object and
recrussion occurs . so I expect stack overflow even at here. But its not
happening as expected.
}
GopiKrishna Komanduri
Software engineer
[email protected]
Now, send attachments up to 25MB with Yahoo! India Mail. Learn how.
http://in.overview.mail.yahoo.com/photos
[Non-text portions of this message have been removed]