原创 闫小林 C语言入门到精通 2020-11-25

收录于话题

#小林C++代码基础

95个

点击上方“C语言入门到精通”,选择置顶

第一时间关注程序猿身边的故事


6.2 C++宏定义_c++


作者

闫小林

白天搬砖,晚上做梦。我有故事,你有酒么?


C++宏定义

学过C语言的读者,对宏定义应该不陌生,同样在C++中,也可以用宏定义命令将一个指定的标识符来代表一个字符串,宏定义的作用一般是用一个短的名字代表一个长的字符串。
一般形式为:

#define 标识符 字符串

定义PI的符号常量:
#define PI 3.14

在C++中还可以用#define命令定义带参数的宏定义,一般形式为:
#define 宏名(参数表) 字符串

比如,定义宏正方形面积Area:
#define Area(long,wide) long*wide

看完之前的推文的读者,应该知道C++中增加了内置函数,比用带参数的宏定义更方便,因此在C++中基本上已不再用#define 命令定义宏了,宏定义主要用于条件编译中。
经典案例:C++宏定义求面积,要求可以手动输入长和宽。
#include<iostream>//预处理
#define Area(longNum,wideNum) longNum*wideNum//宏定义带参数的 
using namespace std;//命名空间 
int main()//主函数 
{
  int area,num1,num2;//定义变量 
  cout<<"请输入长和宽:";
  cin>>num1>>num2;
  area=Area(num1,num2);//调用第二行的宏定义 
  cout<<"面积是:"<<area;//输出面积
  return 0//返回值为0 
}

执行本程序之后,会输出:
请输入长和宽:5 8
面积是:40
--------------------------------
Process exited after 4.153 seconds with return value 0
请按任意键继续. . .