En C++, ff tengo una clase que necesita para mantener un miembro que puede ser asignada dinámicamente y se utiliza como un puntero, o no, como este:miembros de la clase dinámicos vs no dinámica
class A {
type a;
};
o
class A {
A();
~A();
type* a;
};
y en el constructor:
A::A {
a = new type();
}
y destructor:
A::~A {
delete a;
}
¿Hay alguna ventaja o desventaja en una u otra, además de la dinámica que requiere más código? ¿Se comportan de manera diferente (aparte de que el puntero debe ser desreferenciado) o es uno más lento que el otro? ¿Cuál debería usar?
Trabaja para tener un código de mantenimiento correcto, y luego si es necesario, trabaja en el rendimiento. –
Su segundo 'A' no es seguro; necesita definir el constructor de copia y 'operator =' también. Nunca tengas apuntadores como esos, envuélvelos para que no necesites escribir * ninguna * función especial para miembros. – GManNickG