I have the following class
class Singleton { private: static Singleton *p_inst; Singleton(); public: static Singleton * instance()
You will have to use a mutex and lock the pointer before assigning or reading it, making this a slow (and imo just plain terrible) design pattern.