动态申请内存的危险处
2010-11-10 13:47
176 查看
C++的new给用户动态申请内存带来了很大的方便,但是也带来了一些危险
一不小心就会造成内存泄露
这样就导致pa的指向改变,然后delete []pa时候就会错误,导致内存无法回收
所以要慎重
后来想如果new返回的是指针常量
这样就无法修改指针的指向就无法修改
但是申明*pa为const时候,发现strcpy又无法使用了
不知有什么方法可以防止没有
一不小心就会造成内存泄露
char *pa=new char[5]; 然后如果修改了pa指针 pa++;或者 pa="abcde";
这样就导致pa的指向改变,然后delete []pa时候就会错误,导致内存无法回收
所以要慎重
后来想如果new返回的是指针常量
这样就无法修改指针的指向就无法修改
但是申明*pa为const时候,发现strcpy又无法使用了
不知有什么方法可以防止没有
相关文章推荐
- 动态申请内存的危险处
- 《IOS_C语言》程序存储区划分、动态申请内存、内存操作函数
- 通过malloc动态申请整形大小的内存,把地址强制转换成整形指针
- 申请动态内存——malloc()函数及其扩展函数
- 当进程退出后,动态申请的内存会自动释放吗
- 关于用函数指针参数申请动态内存的问题
- 指向指针的指针申请动态内存
- C语言动态申请内存
- [置顶] 动态申请内存,释放出现错误
- ACM之动态申请内存
- [TwistedFate]程序存储区划分、动态申请内存、内存操作函数
- 释放动态申请的内存
- 动态申请和释放内存
- 动态申请内存及相关补充
- 内存操作(指针,变量的生存期及作用范围,良好的动态内存申请和释放习惯)(
- C++不能在栈上申请动态内存,而只能依靠指针
- 指针动态申请内存的问题
- C语言基础之函数、虚拟键盘的使用、数组、指针、动态申请内存、内存泄漏
- MTK内存动态申请释放
- 用户申请内存的动态分配