जैसा कि WhozCraig ने सुझाव दिया है कि आप जोड़ सकते हैं delete Driver;
आपके परीक्षण समारोह में लेकिन मैं auto_ptr
. का उपयोग करने का सुझाव दूंगा या C++11 unique_ptr
या shared_ptr
सब कुछ के लिए MYSQL और आपको कभी भी मेमोरी लीक के बारे में चिंता करने की ज़रूरत नहीं होगी
इसे उदाहरण के लिए लें
C++11
. के साथstd::unique_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
या सी++
std::auto_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));
संपादित करें
आप केवल delete Driver
नहीं कर सकते हैं , मेरे पास समय होने पर मैं इस पर और गौर करूंगा
अपडेट करें
मैंने driver.h
. को देखा स्रोत कोड, यह वास्तव में protected:
virtual ~Driver() {}
. है इसलिए आप केवल एक डिलीट का उपयोग नहीं कर सकते, चाहे कभी भी public:
. में दो हैं
virtual void threadInit() = 0;
virtual void threadEnd() = 0;
जिसकी आपको आवश्यकता हो सकती है
यह भी है उदाहरण जो बहुत उपयोगी हो सकता है और इसे थोड़ा अलग तरीके से करता है तो आप