首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求解一个 #define 的有关问题

2013-08-01 
求解一个 #define 的问题偶尔看到了这么一句代码:#defineGlobalFreePtr(lp)\(GlobalUnlockPtr(lp), (BOOL)

求解一个 #define 的问题

偶尔看到了这么一句代码:

#define     GlobalFreePtr(lp)                \
                (GlobalUnlockPtr(lp), (BOOL)GlobalFree(GlobalPtrHandle(lp)))



不是太了解这段代码的含义,只是简单的宏替换吗? 那括号内的" , "号又是做什么的呢 c++ C 宏
[解决办法]
逗号表达式的要领:
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。


if(GlobalFreePtr(m_pRecvCompBuff))
{
     //do something...
}

[解决办法]
看用法应该是一个逗号表达式,
但是第一个估计也是有用的。虽然值没有保存下来。
就是两个操作写在一起而已。

热点排行