Объект C ++, созданный с помощью new, уничтоженный с помощью free (); Насколько это плохо?
Я работаю над модификацией относительно большой программы на C ++, где, к сожалению, не всегда понятно, использовал ли кто-то до меня синтаксис C или C ++ (это на электротехническом факультете в университете, и у нас в EE всегда есть искушение использовать C для всего и, к сожалению, в этом случае люди могут сойти с рук).
Однако, если кто-то создает объект:
Packet* thePacket = new Packet();
Имеет ли значение, уничтожен лиdelete thePacket;
или жеfree(thePacket);
?
Я понимаю, что delete вызывает деструктор, в то время как free () нет, но у Packet нет деструктора. У меня ужасное время, застрявшее в болоте управления памятью, и я думаю, что это может быть одной из многих проблем.