Roger Luo

超越梦想一起飞
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C++ Macro Usage

Posted on 2012-11-08 12:56  Roger Luo  阅读(194)  评论(0编辑  收藏  举报

Debug log

Sometimes we need to print some logs to show the application is running well during debug. But for release version, we choose to ignore these logs.

So we can use macros to finish these function, in that way, no need to change the code.

#ifdef _DEBUG
#define DPRINT(...) printf(__VA_ARGS__)
#else
#define DPRINT(...) 
#endif

To use variadic macros, the ellipsis may be specified as the final formal argument in a macro definition, and the replacement identifier __VA_ARGS__ may be used in the definition to insert the extra arguments. __VA_ARGS__ is replaced by all of the arguments that match the ellipsis, including commas between them.