0

私はこのようなクラスを持っています:

class temp_class
{
  public:
  QVector<double> a,b,c,d;
  temp_class() {
    for (int var = 0; var < 10000; ++var) {
        a.append(var);
        b.append(var);
        c.append(var);
        d.append(var);
    }
  }
  ~temp_class()
  {
    a.clear();
    b.clear();
    c.clear();
    d.clear();
  }
};

そして、私はこのクラスのポインタのqvectorを次のように持っています:

QVector<temp_class*> temp_list;

そしてそれにいくつかのクラスを追加します

for (int var = 0; var < 1e3; ++var) {
    temp_class * temp = new temp_class;
    temp_list.append(temp);
}

しかし、このベクトル メモリをクリアしても、クリーンアップは行われません!!!!!

qDeleteAll(temp_list);
temp_list.clear();

なぜこの奇妙な出来事が起こるのですか?!!!!

OS: Ubuntu 14.04.3

QT4.8.6

4

0 に答える 0