C++ - Singleton
Table of Contents
Singleton plays an important role in program architecturing for its global visibility. For instance, system parameters are usually structured as a singleton. What deserves to be noticed, a singleton can be realized in a variety of manners.
Taking C++ for instance, a typical singleton can be simply defined as
singleton.h
#ifndef SINGLETON_H #define SINGLETON_H class Singleton { private: static Singleton *instance; Singleton() = default; Singleton(const Singleton &rhs) = delete; Singleton& operator=(const Singleton &rhs) = delete; public: static Singleton* get_instance(); }; #endif /* SINGLETON_H */
singleton.cpp
#include "singleton.h" Singleton *Singleton::instance = nullptr; Singleton* Singleton::get_instance() { if (instance == nullptr) instance = new Singleton; return instance; }