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_list破壊されていますか(そのため、iそれらにアクセスできなくなります)?

4

1 に答える 1

2

のリストですfloat**float*彼らが指しているものはリストにありません。つまり、を使用するdelete[]と、メモリは解放されますが、 data_listそれ自体は変更されません。この時点以降、それらは無効なポインタになります。

于 2012-12-11T10:39:20.083 に答える