C++动态分配内存可以用不同的指针来释放
2011-06-04 16:03
232 查看
关于C++中动态分配内存的释放问题,我做了个小小试验。
如下代码中,动态分配内存时用name指针,而释放时用p指针,这是完全可以的。以前对此不太清楚,所以做了小试验。
结论:只要指针指向的地址是分配内存时的首地址,就可正确释放内存,无论这个指针的名称(符号)是不是分配内存时所使用的名称(符号)。
关于如何检测内存是否已正确释放,可以参见下一篇博文。
如下代码中,动态分配内存时用name指针,而释放时用p指针,这是完全可以的。以前对此不太清楚,所以做了小试验。
char* p, *name = new char[2]; name[0] = 'A'; name[1] = 'B'; p = name; delete[] p;
结论:只要指针指向的地址是分配内存时的首地址,就可正确释放内存,无论这个指针的名称(符号)是不是分配内存时所使用的名称(符号)。
关于如何检测内存是否已正确释放,可以参见下一篇博文。
相关文章推荐
- 函数的返回类型可以为值、指针、引用,这三种返回类型有什么不同,各有什么好处?(c++)
- C++多维指针的内存的分配与释放
- 关于C++中结构体及其指针成员的内存分配和释放
- new、delete、指向连续空间的指针、数组、空间释放、空间申请[C++][内存管理]
- C++指针释放问题
- [C/C++][经典探讨]类继承中,通过基类指针delete释放,是否会造成内存泄漏
- 走进C++程序世界-----指针(动态申请空间和释放空间)
- C++中vritual虚函数漏洞,通过指针(利用虚表,调用函数)任然可以访问到基类中虚函数。
- C++与C的指针的不同
- 为什么父类指针可以指向子类反之则不行(内存长度不同)
- C++函数对象与函数指针的不同之处
- C++走向远洋——43(人数不定的工资类,动态分配内存与释放)
- C语言中不同类型的结构体的指针间可以强制转换
- 不同阶段学习C++推荐用书(也可以作为对这类图书内容的层次的评价)
- [C/C++][经典探讨]类继承中,通过基类指针delete释放,是否会造成内存泄漏
- C++不可以返回局部变量的引用或指针
- C++和C里,指向函数的指针有所不同
- C++:对象数组、对象动态申请和释放、类的定义和实现分开、this指针、常成员函数、时钟
- C++指针编程你要小心的陷阱——如何优雅的释放指针void*
- C++与JAVA不同之(一)---指针和引用