sql >> データベース >  >> RDS >> Mysql

MySQLC++コネクタのメモリリーク

    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"));
    

    またはC++

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

    編集

    delete Driverすることはできません 、時間があればもっと調べます

    更新

    driver.hを調べました ソースコード、それは確かにprotected: virtual ~Driver() {} したがって、public:では、削除だけを使用することはできません。 2つあります

    virtual void threadInit() = 0;
    
        virtual void threadEnd() = 0;
    

    必要なものかもしれません

    この例もあります これは非常に便利な場合があり、これはあなたとは少し異なります



    1. $wpdbを使用してデータベースのワードプレスに変数が存在することを確認する方法

    2. XamppMSSQLサーバーPHP5.6

    3. MySQLへのJDBC接続を確立できません(Java、IntelliJ、およびLinuxを使用)

    4. 日付/時刻の追加の基準は?