Здравствуйте, Аноним, Вы писали:
А>Уважаемые, подскажите, почему не работает:
А> ...
А>Это не реальный синглетон, а просто учебный пример, объясните, почему list_ должен быть static, чтобы работало правильно.
Закрой конструктор копирования и оператор присвоения — поймёшь
Проблема в том, что instance каждый раз возвращает новый объект, являющийся копией статического logger.
Очевидно, что вы ошиблись в возвращаемом типе instance. Надо просто вернуть ссылку:
Здравствуйте, Анатолий Широков, Вы писали:
АШ>Проблема в том, что instance каждый раз возвращает новый объект, являющийся копией статического logger. АШ>Очевидно, что вы ошиблись в возвращаемом типе instance. Надо просто вернуть ссылку: АШ>
АШ>static Logger& instance()
АШ>
Кстати интересно, разрешено ли стандартом возврашать ссылки на статические локальные переменные.
Здравствуйте, Nik_1, Вы писали:
АШ>>Проблема в том, что instance каждый раз возвращает новый объект, являющийся копией статического logger. АШ>>Очевидно, что вы ошиблись в возвращаемом типе instance. Надо просто вернуть ссылку: АШ>>
АШ>>static Logger& instance()
АШ>>
N_>Кстати интересно, разрешено ли стандартом возврашать ссылки на статические локальные переменные.
Не запрещено
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.