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