define关键字在C/C++中代表是一个宏定义命令。define的使用效果和Word中的替换(Ctrl+F)效果一样。define宏命令在C/C++中的应用有两种,(1)有参宏定义。(2)无参宏定义
1、无参数的宏定义
形式:
#define idName Value
在C/C++中,凡是 以#
开头的都是预处理命令,define
是宏定义命令,idname
是宏名,而Value
可以是常数、字符串、表达式等。
例如:
#define NUM 123
这样NUM
就被定义为了123
。
2、有参数的宏定义
有参数的宏定义使用效果,我感觉和函数差不多。
形式:
#define idName(形参表) (表达式)
在idName
被调用时,不仅要对宏进行展开,还要用表达式中的实参,求替换形参。
例如:
#include <iostream>
using namespace std;
// 定义一个a,b相加的宏
#define SUM(a, b) (a + b)
int main() {
cout << "SUM = " <<SUM(1, 2) <<endl;
return 0;
}
注意: 虽然,有参宏定义和函数的运行效果很像,但是,它俩在执行效率、调试难易程度等,有很大的不同。