读书人

宏能想办法打印出来不?求教高手啊该怎

发布时间: 2012-03-31 13:13:26 作者: rapoo

宏能想办法打印出来不?求教高手啊~~
如下例子,写了一个安全删除的例子:

C/C++ code
#define SAFE_DELETE(x) {if(x) delete x; x=NULL;} // 安全删除new分配出来的变量空间



现在我想增加功能;在x为空的时候,打印出变量名.

C/C++ code
Poit a,b; //假设a为空,b不为空SAFE_DELETE(a);//也就是在这里打印出a,请问:可以通过修改以上宏,来达到目的吗?SAFE_DELETE(b);


[解决办法]
#define SAFE_DELETE(x) { printf("%s", #x); if(x) delete x; x=NULL;}
[解决办法]
C/C++ code
#define SAFE_DELETE(x) {if(x) delete x;else printf("%s is NULL\n", #x); x=NULL;}
[解决办法]
C/C++ code
#define SAFE_DELETE(x)\    if (x)\    {\        delete x;\        x = NULL;\    }\    else\        printf("Null pointer \"%s\" in %s(%d).\n", #x, __FILE__, __LINE__); 

读书人网 >C++

热点推荐