前言:
在日常的编程工作中,常常定义一些实用的宏方便调用,该文章将收集一些常用的宏供大家参考,欢迎大家讨论和添加!
指针释放
最常用的就是指针的安全释放。
对应new的释放
#ifndef ReleasePtr
#define ReleasePtr(Ptr) {
if (Ptr != NULL)
{
delete Ptr;
Ptr = NULL;
}
}
#endif
对于new数组的释放
#ifndef ReleasePtrEx
#define ReleasePtrEx(Ptr) {
if (Ptr != NULL)
{
delete[] Ptr;
Ptr = NULL;
}
}
#endif
一个简单的使用原则就是:new 和 delete、new[] 和 delete[] 对应使用
使用举例:
char *pData = new StructXXXX ;
...//处理工程
ReleasePtr(pData );
char *pData = new char[100];
...//处理工程
ReleasePtrEx(pData );
关于delete和delete[]的区别请看我的另外一篇关于《delete与delete[]的真正区别》一文,地址:http://blog.csdn.net/cbnotes/article/details/38900799