深刻领悟微软宏微软

#define B_FUCK_MSVC(args) implementation of B
#define B(...) EXPAND(B_FUCK_MSVC(__VA_ARGS__))
//其中EXPAND的定义如下
#define EXPAND(...) __VA_ARGS__

上面是核心.一定要深刻理解.
参考在这里

变长扩展用法:

#define log(format, ...) printf("LOG: " format __VA_OPT__(,) __VA_ARGS__)

log("%d%f", 1, .2);    // -> printf("LOG: %d%f", 1, .2);
log("hello world");    // -> printf("LOG: hello world");
log("hello world", );  // -> printf("LOG: hello world");
posted @ 2020-11-11 14:44  zjh6  阅读(16)  评论(0)    收藏  举报  来源