宏定义
宏,其实就是查找替换文本的功能
全部替换
#define name(A,B,C) A=B+C// 宏 查找名(替换名,替换名,替换名) 替换为目标格式//替换前name(x,y,z);//替换后X=Y+Z;
部分替换
:用来代替空格键,
如果一个单词的部分分替,则要用##隔开
#define name(NewName,a) the_##NewName##func(int a)// 宏 查找名(替换名,替换名) 替换为目标格式//替换前name(X,B);//替换后the_Xfunc(int B);
范例
查找替换文本
/*替换前*/#define newType intnewType a;/*替换后*/int a;
定义函数
通过这种方法,可以定义一些类,函数、模板等等千奇百怪的用法 但需要注意,乱用宏会导致代码的可阅读性
/*替换前*/#include <stdio.h>#define add(funName,a,b) \int funName##_function(int a, int b)\{\return a+b;\}add(NewName, x, y)/*替换后*/#include <stdio.h>int NewName_function(int a, int b){return a+b;}
