Объект C ++, созданный с помощью new, уничтоженный с помощью free (); Насколько это плохо?

Я работаю над модификацией относительно большой программы на C ++, где, к сожалению, не всегда понятно, использовал ли кто-то до меня синтаксис C или C ++ (это на электротехническом факультете в университете, и у нас в EE всегда есть искушение использовать C для всего и, к сожалению, в этом случае люди могут сойти с рук).

Однако, если кто-то создает объект:

Packet* thePacket = new Packet();

Имеет ли значение, уничтожен лиdelete thePacket; или жеfree(thePacket); ?

Я понимаю, что delete вызывает деструктор, в то время как free () нет, но у Packet нет деструктора. У меня ужасное время, застрявшее в болоте управления памятью, и я думаю, что это может быть одной из многих проблем.

Ответы на вопрос(6)

Ваш ответ на вопрос