@tujhan
Начинающий программист

Изучаю паттерны, возник вопрос по поводу паттерна Singleton, он должен выглядеть примерно так?

Сейчас занялся паттернами, на очереди Singleton, правильно я понял, что он должен выглядеть примерно так (во всех источниках их пишут по разному), подскажите наиболее наглядную и точную реализацию.
У меня выглядит примерно так:
#include <iostream>

class Singleton {
public:
    static Singleton* Instance() {
        if (instance == 0) {
            instance = new Singleton;
        }
        return instance;
    }
protected:
    Singleton();
private:
    static Singleton* instance;
};
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
@krs
Примерно так, но лучше запретить копирование
Singleton(Singleton const&) = delete;
Singleton& operator= (Singleton const&) = delete;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@menkar3
Я бы рекомендовал версию от Майерса. Как минимум из-за thread-safe initialization.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы