Salve ragazzi, ho un piccolo problemino.. finora ho sempre implementato singleton c++ con il pattern classico ovvero mettendo un puntatore statico e facendo la new solo nel caso in cui il puntatore sia null. Ad esempio:
codice:
#include <iostream>
#define null 0
class singleton
{
private:
static singleton* instance_ptr;
singleton() { };
public:
~singleton() { };
static singleton* get_instance()
{
if (instance_ptr == null)
{
instance_ptr = new singleton;
}
return instance_ptr;
}
bool method()
{ return true; };
};
// initialize pointer
singleton* singleton::instance_ptr = null;
int main()
{
std::cout << singleton::get_instance()->method() << std::endl;
return 0;
}
Ora avrei però bisogno di scrivere un singleton che non mi obblighi ad utilizzare l'heap e lavorare solo nello stack, quindi la new è vietata. Come posso fare? Grazie