Estoy trabajando en la modificación de un programa C++ relativamente grande, donde desafortunadamente no siempre está claro si alguien antes que yo usó sintaxis C o C++ (esto es en el departamento de ingeniería eléctrica en una universidad, y EEs siempre estamos tentados de usar C para todo, y lamentablemente en este caso, la gente puede salirse con la suya).objeto C++ creado con nuevo, destruido con free(); ¿Qué tan malo es esto?
Sin embargo, si alguien crea un objeto:
Packet* thePacket = new Packet();
qué es importante que se está destruida con delete thePacket;
o free(thePacket);
?
Me doy cuenta de que eliminar llama al destructor mientras que free() no lo hace, pero Packet no tiene un destructor. Estoy teniendo un terrible momento atrapado en un pantano de gestión de la memoria aquí y estoy pensando que este puede ser uno de los muchos problemas.
El paquete tiene un destructor, incluso si no puede verlo. Es ... gah, responde abajo. – slezica
La respuesta correcta es que no debería estar borrando cosas. Abrázalos. – GManNickG