1
Vote

在Macros.h头文件中添加下面3个宏,可以更清楚的理解释放的资源

description

建议在Macros.h头文件中添加下面3个宏,可以更清楚的理解释放的资源
 
增加定义:
 

define SAFE_RELEASE(s) \

 
  if (s != NULL) { s->Release(); s = NULL;} 
 

define SAFE_DELETE(s) \

 
  if (s != NULL) { delete(s); s = NULL;} 
 

define SAFE_FREE(s) \

 
  if (s != NULL) { free(s); s = NULL;} 
 
原有定义:
 

define RELEASE_OBJ(s) \

 
  if (s != NULL)      \
 
  {                   \
 
  s->Release();   \
 
  s = NULL;       \
 
  } 
 

define DELETE_OBJ(a) if(a !=NULL)\

 
{\
 
  DeleteObject(a);\
 
  a=NULL;\
 
}\
 
替换原因,如下:
 
从原有定义可以看出:这个两个宏定义虽然是正确的,但在字面意思上会造成误解,RELEASE_OBJ是释放COM对象,DELETE_OBJ则为释放系统环境资源。在定义上并不统一。
 
新增加的定义则更好的说明了对资源的妥善处理,DELETE_OBJ可以保留。
 
                                                                提交人:李森

comments