Middle
Como implementarias o padrão Singleton no seu código?
sobes.tech IA
Resposta da IA
O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a ela. Em C++, uma das formas comuns de implementação é usar um método estático com um objeto estático local, o que garante uma inicialização preguiçosa e segurança em ambientes multithread desde C++11:
class Singleton {
public:
static Singleton& getInstance() {
static Singleton instance; // criado na primeira chamada
return instance;
}
// eliminamos cópia e atribuição
Singleton(const Singleton&) = delete;
Singleton& operator=(const Singleton&) = delete;
private:
Singleton() {} // construtor privado
};
// Uso:
// Singleton& s = Singleton::getInstance();
Essa abordagem é simples e eficiente, não requer sincronização adicional e garante a unicidade do objeto.