С++ Вопрос по поводу паттерна SingleTone
Недавно изучал данный паттерн и рассматривал данный кусок кода:
class singletone {
private:
singletone(){};
~singletone() {};
public:
static singletone& getssilka() {
static singletone ssilka;
return ssilka;
};
void foo() {
cout << "Работаю";
}
singletone(const singletone&) = delete;
singletone& operator=(const singletone&) = delete;
};
В публичном методе getssilka класса singletone я создаю статическую переменную типа singletone.
Не эквивалентно ли это записи например:
class myclass{
myclass temp1;
};
В самом классе я создаю экземпляр самого же этого класса, почему не получается рекурсия? почему не выходит ошибка? Заранее спасибо!