ldo*_*dog 1 c++ memory memory-leaks
此代码是否会导致内存泄漏:
int main(){
int * a = new int[10];
int * b = new int[10];
for(int i = 0 ; i < 10; i++)
{
a[i] = 1;
b[i] = 1;
}
for(int i = 0 ; i < 10; i++)
{
a[i] = b[i]; //each a[i] is allocated 4 bytes on heap
//when we copy b[i] into a[i] do we loose
//the reference to a[i] (hence a leak),
//and replace that reference
//with a reference to a new value?
}
delete[] a;
delete[] b;
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 15
不,那里没有泄漏.你只是在数组中复制值.把这些阵列想象成一个更衣室里的两个储物柜 - 你只是把一个储物柜中的东西复制到另一个储物柜的储物柜中; 储物柜本身就在它的位置.