Esto es sólo una pregunta rápida para entender correctamente lo que sucede cuando se crea una clase con un constructor de esta manera:compilador genera constructores
class A
{
public:
A() {}
};
sé que no se genera un constructor por defecto, ya que ya está definido, pero son los constructores de copia y asignación generados por el compilador o en otras palabras, ¿necesito declarar un constructor de copia privada y un operador de asignación privada para evitar que esto ocurra?
class A
{
private:
// needed to prevent automatic generation?
A(const A&);
A& operator=(const A&);
public:
A() {}
};
De hecho, aunque si está usando esto para evitar la copia/asignación, echa un vistazo a [boost :: noncopyable] (http: // www .boost.org/doc/libs/1_55_0/libs/utility/utility.htm # Class_noncopyable). (Puedes arrancar esta clase simple o escribir la tuya y volver a usarla donde quieras). – TypeIA