关于delete内存
来源:互联网 发布:电影网源码php 编辑:程序博客网 时间:2024/05/18 01:02
看到有些书上说delete一个指针的内存后要把指针赋值为NULL,不明白为什么,自己拿个小例子演示了一下明白了,原来如此:
int main(){char *str =new char[5];strcpy(str,"odfd");cout<<"string of the pointer: "<<str<<'\n'<<" address of the pointer: "<<&str<<'\n';delete[] str;cout<<"string of the pointer: "<<str<<'\n'<<" address of the pointer: "<<&str<<'\n';std::cin.get();return 0;}
运行的结果如下:
从输出结果可以看出,虽然我delete 了str这个指针,但是这个指针的指向值并非为空,delete[ ]仅仅表示str所指向的地址为不可用,这时候的指针就变成了野指针,当判断if(str==NULL){// code },则会出错,因此在delete 之后,应再为之赋予空值。
程序修改如下:
int main(){char *str =new char[5];strcpy(str,"odfd");cout<<"string of the pointer: "<<str<<'\n'<<" address of the pointer: "<<&str<<'\n';delete[] str; str=NULL; //preparation for error std::cin.get();return 0;}
- 关于delete内存
- 7.关于申请与释放内存new & delete
- C++ 笔记 关于动态内存分配 (new / delete)
- 内存管理——关于malloc/free与new/delete
- 关于C++中delete释放内存时效性问题
- 关于 delete[]
- 关于delete
- delete 与 delete[] 释放内存
- delete 与 delete[] 释放内存
- 动态内存申请 new、delete、delete[]、delete()
- 关于delete 和 delete[] (一)
- 关于delete 和 delete[ ] (二)
- [C++] 关于delete和delete[]
- wxWidgets delete内存泄漏
- 使用delete释放内存
- delete内存释放机制
- 内存管理 new、delete’
- C++中的内存管理——关于new和delete的讨论
- C#中泛型接口、泛型类、泛型方法的小列
- thinkphp调试
- 请求 菜单 功能 职责 常用脚本
- hdu1495
- android布局属性详解
- 关于delete内存
- jqGrid链接
- 世界最小纳米“呼拉圈”问世 转一周仅300毫秒
- Java Socket编程
- Struts中用Filter实现每个页面的登录验证(转)
- [Delphi]显示、隐藏桌面图标
- JEECMS后台登录地址
- iGills SE-35:iPhone防水保护套让你看海时不再寂寞
- (经典) 放苹果 (P 1664 )