es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, en este caso, puedes eliminar foo en el destructor de la clase Test. Es necesario eliminar foo en el destructor para evitar fugas de memoria. Si foo permanece sin eliminar, resultará en memoria no utilizada que no puede ser accedida o liberada, lo que lleva a una fuga de memoria. También es una buena práctica establecer foo como nullptr después de eliminarlo para evitar punteros colgantes. El código actualizado se vería así:

    class Test{
    private:
       int* foo;
    public:
       Test(int* foo){this->foo = foo;}
       ~Test(){
          delete foo;
          foo = nullptr;
       }
    }
    

Comments are closed.