Как передать в Синглтон Майерса параметры конструктора?
От: Аноним  
Дата: 31.07.06 17:41
Оценка:
Есть такой синглтон:

template <typename BaseT>
class Singleton
    : public BaseT
    , private boost::noncopyable
{
private:
    Singleton()
    {
    }

    ~Singleton()
    {
    }

public:
    static Singleton& instance()
    {
        static Singleton _instance;
        return _instance;
    }
};


Как модифицировать этот класс, чтобы он создавал экземпляр _instance, если у BaseT нет конструктора по умолчанию? Например, в качестве класса BaseT я использую класса Trace (или Log) для вывода отладочной информации, в конструктор которого передаю имя файла для лога. Используется RAII, в конструкторе файл открывается, в диструкторе закрывается.

Решение с передачей аргументов в функцию instance выглядит не очень красивым, так как синглтон создается одни раз по определению, дык что теперь при каждом вызове эти аргументы передавать...

Помогите пожалуйста найти решение.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.