宏定义
宏,其实就是查找替换文本的功能
全部替换
#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 int
newType 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;
}