C++ pointer problem# Programming - 葵花宝典
r*2
1 楼
大家好,
这个指针真是麻烦。有点想不明白。
我知道删除单个指针要用delete,而是数组的话,要用delete [] theArray。
但是为什么不能一个接个的delete呢,既然所有的数组都在heap上。
比如,
#include
int main()
{
int * Family = new int[5];
delete [] Family;
}
这是标准的方法。但为什么以下的方法就不行?Family+i 也是一个指针, 并且就是在
heap上呀,
#include
int main()
{
int * Family = new int[5];
for (int i=0; i<5; i++)
delete (Family+i);
}
有什么猫腻呀? 请大侠指点!
这个指针真是麻烦。有点想不明白。
我知道删除单个指针要用delete,而是数组的话,要用delete [] theArray。
但是为什么不能一个接个的delete呢,既然所有的数组都在heap上。
比如,
#include
int main()
{
int * Family = new int[5];
delete [] Family;
}
这是标准的方法。但为什么以下的方法就不行?Family+i 也是一个指针, 并且就是在
heap上呀,
#include
int main()
{
int * Family = new int[5];
for (int i=0; i<5; i++)
delete (Family+i);
}
有什么猫腻呀? 请大侠指点!