Som WhozCraig foreslog, kan du tilføje delete Driver;
til din testfunktion, men jeg vil foreslå at bruge auto_ptr
eller C++11 unique_ptr
eller shared_ptr
for alt MYSQL, og du behøver aldrig at bekymre dig om hukommelseslækager
tag dette for eksempel
med C++11
std::unique_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
eller C++
std::auto_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
REDIGER
du kan ikke bare delete Driver
, jeg vil se nærmere på det, når jeg har tid
OPDATERING
Jeg kiggede gennem driver.h
kildekoden, den er faktisk protected:
virtual ~Driver() {}
så du kan ikke bare bruge en slet, men i public:
der er to
virtual void threadInit() = 0;
virtual void threadEnd() = 0;
hvilket kan være, hvad du har brug for
der er også dette eksempel hvilket kan være meget nyttigt og gør dette lidt anderledes end dig