我有一个 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 风格的方式 data1
和 data2
在这个循环里面?元素是否位于 i
位置和 i+1
在 data_list
也被销毁(以便 i
无法再访问它们)?
最佳答案
它是一个float**
的列表。他们指向的 float*
不在列表中。
这意味着如果您使用 delete[]
,内存将被释放,但 data_list
本身不会改变。在此之后,它们将成为无效指针。
关于c++ - Qt C++ 删除 QList<float**> 中的 float** 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13818351/