Так получилось, что мне нужен печально известный шаблон singleton. А еще лучше, так получилось, что мне понадобились печально известные шаблоны C ++ в сочетании с этим шаблоном. Итак, меня беспокоит следующее:
template <class T>
class PDatabaseTable
{
...
static PDatabaseTable <T> & instance()
{
static PDatabaseTable <T> singleton;
return singleton;
}
...
};
Это типичный способ реализации синглтона, который должен быть создан при первом использовании. Теперь у нас есть статическая переменная singleton . Поскольку функция instance () может вызываться из нескольких разных модулей, возникает вопрос: будет ли только один экземпляр объекта для любого данного типа T , или каждый модуль будет создавать экземпляр собственный синглтон?