int* ptr = new int();
delete ptr;
ptr = 0; // or null
Run Code Online (Sandbox Code Playgroud)
我的书告诉我,在删除指向的指针后,最好将指针设置为null或0.我不明白为什么.有人会给我一个可能导致问题的情景吗?
只是为了让你知道指针不再指向任何东西,并且如果条件和其他布尔检查将失败:
delete ptr;
ptr = NULL;
if(ptr)
*ptr = 2;
Run Code Online (Sandbox Code Playgroud)
这段代码运行完全正常,但如果指针未设置为NULL,则会导致内存损坏.
| 归档时间: |
|
| 查看次数: |
2702 次 |
| 最近记录: |