Sobes.tech
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.