С++ Вопрос по поводу паттерна 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;
};

В самом классе я создаю экземпляр самого же этого класса, почему не получается рекурсия? почему не выходит ошибка? Заранее спасибо!


Ответы (0 шт):