Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Singleton::instance()->use();if (auto ptr = Singleton::instance().lock())
ptr->use();
else
// протухstatic struct StreamInitializer {
StreamInitializer ();
~StreamInitializer ();
} streamInitializer; // static initializer for every translation unit
— как поддерживать код, для правильного функционирования которого требуется столько весьма точно выполненных ритуалов?
— требуемый для корректировки синглтона Мейерса механизм (умные указатели) УЖЕ давно стандартизован, и отказываться от него в пользу самодельного велосипеда — ну я прямо даже не знаю…
И самое главное — ради чего? Где преимущества?
проектировать все свои проекты/системы с учетом трёх фаз «жизни»и
Инициализация/деинициализация недоступна обычному (его можно называть «user-level») коду
Техника избежания неопределённого поведения при обращении к синглтону