Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2013, 20:13
Avatar de Doommarine_Maxi
Doommarine_Maxi
 
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 10 meses
Puntos: 8
¿Puede esto resultar desastroso?

Una simple duda que tengo al manejar unas clases.

supongamos que tengo como objetivo crear un dato tipo puntero a int que trabaje como un array.

Código C++:
Ver original
  1. class Objeto
  2. {
  3.     public:
  4.         Objeto();
  5.         ~Objeto();
  6.     private:
  7.         int *dato;
  8. };
  9.  
  10. Objeto::Objeto()
  11. {
  12.     dato = NULL;
  13. }
  14. Objeto::~Objeto()
  15. {
  16.     delete [] dato;
  17. }

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
  1. Objeto::~Objeto()
  2. {
  3.     if (dato)
  4.         delete [] dato;
  5. }