¿Alguien puede justificar la necesidad de privatizar el operador de asignación en una implementación de clase Singleton?Necesidad de privatizar el operador de asignación en una clase Singleton
¿Qué problema soluciona al hacer Singleton& operator=(Singleton const&);
privado?
class Singleton {
public:
static Singleton& Instance() {
static Singleton theSingleton;
return theSingleton;
}
private:
Singleton(); // ctor hidden
Singleton(Singleton const&); // copy ctor hidden
Singleton& operator=(Singleton const&); // assign op. hidden
~Singleton(); // dtor hidden
};
Entiendo incluso si un desarrollador hace a = b; no hay daño ya que ambos objetos apuntan a la misma instancia estática de Singleton. Entonces, el operador de privatización o asignación no es obligatorio para que un singleton se comporte como se espera. –
@PrashanthGN Es correcto que esto no sea una operación, por lo que tener 'operator =' no es peligroso, solo tonterías. –