一句代码看不懂解决方法

一句代码看不懂#definedelete(setOwner(__FILE__,__LINE__),false)?setOwner( ,0):delete[解决办法]定义

一句代码看不懂
#define   delete                       (setOwner(   __FILE__,   __LINE__   ),   false)   ?   setOwner(   " ",   0   )   :   delete

[解决办法]
定义这个宏后,下面语句
delete p;
就是展开成
(setOwner( __FILE__, __LINE__ ), false) ? setOwner( " ", 0 ) : delete p;
也就是
(setOwner( __FILE__, __LINE__ ), false)逗号表达式,
先调用setOwner(__FILE, __LINE__),表达式值为false,然后执行delete p;