Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kebocoran memori di Konektor MySQL C++

seperti yang disarankan WhozCraig, Anda dapat menambahkan delete Driver; ke fungsi pengujian Anda, tetapi saya sarankan menggunakan auto_ptr atau C++11 unique_ptr atau shared_ptr untuk semua MYSQL dan Anda tidak perlu khawatir tentang kebocoran memori

ambil contoh ini

dengan C++11

std::unique_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));

atau C++

std::auto_ptr< sql::Connection > con( driver->connect("tcp://127.0.0.1:3306", "root", "root"));

EDIT

Anda tidak bisa hanya delete Driver , saya akan memeriksanya lebih lanjut ketika saya punya waktu

PERBARUI

Saya melihat melalui driver.h kode sumber, memang protected: virtual ~Driver() {} jadi Anda tidak bisa hanya menggunakan hapus, namun di public: ada dua

virtual void threadInit() = 0;

    virtual void threadEnd() = 0;

yang mungkin Anda butuhkan

ada juga contoh ini yang mungkin sangat berguna dan melakukan ini sedikit berbeda dari Anda



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nomor gratis pertama MySQL di antara nilai yang ada

  2. Konversi mysql ke mysqli?

  3. Bagaimana Anda mengekstrak nilai numerik dari string dalam kueri MySQL?

  4. permintaan mysql bergabung/gabung dalam

  5. cara memasukkan kode HTML ke DB menggunakan php