http://coolshell.cn/articles/2801.html
#include <stdio.h>
#define func(...) myfunc((struct mystru){__VA_ARGS__})
structmystru { constchar *name; intnumber; };
voidmyfunc(structmystru ms )
{
printf("%s: %d\n", ms.name ?: "untitled", ms.number);
}
intmain(intargc, char**argv)
{
func("three", 3);
func("hello");
func(.name = "zero");
func(.number = argc, .name = "argc",);
func(.number = 42);
return0;
}
本文深入探讨了C语言中使用模板(宏)进行代码复用的技巧,并展示了实际应用场景,包括不同参数类型和默认参数的使用。
518

被折叠的 条评论
为什么被折叠?



