0 c++ dynamic-memory-allocation delete-operator
请看看下面的代码::
#include<iostream>
using namespace std;
int main()
{
int *ptr;
ptr = new int[100000];
cout<<"\n\n address = "<<ptr;
for(long int i=0;i<100000;i++)
*(ptr+i) = i+1;
delete []ptr;
cout<<"\n\n address = "<<ptr;
ptr = new int[5];
cout<<"\n\n address = "<<ptr;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
address = 0xd42490
address = 0xd42490
address = 0xe919d0
Run Code Online (Sandbox Code Playgroud)
为什么,在delete []ptr;它仍然指向它之前的位置之后(见第二个输出)。
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |