0

我有一个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_listi

4

1 回答 1

2

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

于 2012-12-11T10:39:20.083 回答