Qt C ++删除QList <float **> </float **>中的float **元素

时间:2012-12-11 10:31:56

标签: c++ arrays qt delete-operator

我有QList<float**>。我首先迭代元素以使用它们:

for( int i = 0 ; i < nb ; i++ )
{
    float** data1 = data_list.at( i ) ;
    float** data2 = data_list.at( i + 1 ) ;
    // do things with data1 and data2

}

如果我delete[]在此循环中采用C时尚方式data1data2会怎样? i中位置i+1data_list的元素是否也被销毁(以便i无法再访问它们了?)

1 个答案:

答案 0 :(得分:2)

它是float**的列表。他们指向的float*不在列表中。 这意味着如果您使用delete[],则会释放内存,但data_list本身不会更改。在此之后,它们将成为无效指针。