Может кто-нибудь объяснить мне этот код?Нужна помощь по пониманию одноэлементного шаблона
class S
{
public:
static S& getInstance()
{
static S instance;
return instance;
}
private:
S() {}
S(S const&); // Don't Implement.
void operator=(S const&); // Don't implement
};
То, что я понял это: деЫпзЬапсе статический метод, который возвращает ссылку на экземпляр, но где создается этот экземпляр? Я не вижу новых S(); так что ...
Он создается прямо здесь: 'static S instance;' - вам не нужно 'new' для создания объекта. –
статическая переменная в функции, созданной при первом вызове и существовавшей до окончания программы; – alexolut
Будет ли это создавать новый экземпляр каждый раз, когда я вызываю getInstance? Я не понимаю –