Witam, od pewnego czasu mam problem ze zrozumieniem kawałka kodu, wertuje dokumentacje ale nie potrafię znaleŹć dlaczego to działa.
class Singleton
{
private:
Singleton(){};
Singleton( const Singleton & ){};
public:
static Singleton & get()
{
static Singleton singleton;
return singleton;
}
};
Co dokładnie robi linia "static Singleton singleton;"? Dlaczego to działa i przy każdym wywołaniu Singleton::get() dostaję ten sam obiekt? Dlaczego nie ma błędu redefinicji?