supongamos que tengo como objetivo crear un dato tipo puntero a int que trabaje como un array.
Código C++:
Ver original
class Objeto { public: Objeto(); ~Objeto(); private: int *dato; }; Objeto::Objeto() { dato = NULL; } Objeto::~Objeto() { delete [] dato; }
Podemos ver que esta clase no permite asignarle un valor ningun al puntero y simplemente lo crea como nulo, y cuando se destruye libera la memoria (que no se reservo ninguna) que el puntero dato utilizaba.
¿Esta practica sería desastrosa?.
¿Es una solución lógica hacer esto?:
Código C++:
Ver original
Objeto::~Objeto() { if (dato) delete [] dato; }