zoals WhozCraig suggereerde, kun je delete Driver;
. toevoegen naar uw testfunctie, maar ik zou willen voorstellen om auto_ptr
. te gebruiken of de C++11 unique_ptr
of shared_ptr
voor alles MYSQL en u hoeft zich nooit meer zorgen te maken over geheugenlekken
neem dit bijvoorbeeld
met C++11
std::unique_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
of de C++
std::auto_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
BEWERKEN
je kunt niet zomaar delete Driver
, ik zal er meer naar kijken als ik tijd heb
UPDATE
Ik heb de driver.h
. doorgenomen broncode, het is inderdaad protected:
virtual ~Driver() {}
dus je kunt niet zomaar een delete gebruiken, maar in public:
er zijn twee
virtual void threadInit() = 0;
virtual void threadEnd() = 0;
dat is misschien wat je nodig hebt
er is ook dit voorbeeld die erg handig kan zijn en dit een beetje anders doet dan jij