Wie WhozCraig vorgeschlagen hat, können Sie delete Driver;
hinzufügen zu Ihrer Testfunktion, aber ich würde vorschlagen, auto_ptr
zu verwenden oder der C++11 unique_ptr
oder shared_ptr
für alles MYSQL und Sie müssen sich nie um Speicherlecks sorgen
Nehmen Sie dies zum Beispiel
mit C++11
std::unique_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
oder C++
std::auto_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
BEARBEITEN
Sie können nicht einfach delete Driver
, ich werde mich genauer damit befassen, wenn ich Zeit habe
AKTUALISIEREN
Ich habe die driver.h
durchgesehen Quellcode, es ist tatsächlich protected:
virtual ~Driver() {}
Sie können also nicht einfach löschen, jedoch in public:
es gibt zwei
virtual void threadInit() = 0;
virtual void threadEnd() = 0;
das könnte sein, was Sie brauchen
es gibt auch dieses Beispiel das kann sehr nützlich sein und tut dies etwas anders als Sie