LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 429|回复: 0

预处理器定义 (#define)

[复制链接]
发表于 2024-2-19 22:52:15 | 显示全部楼层 |阅读模式
命名常量值的另一种机制是使用预处理器定义。它们具有以下形式:



在此指令之后,代码中出现的任何 被解释为 ,其中替换是任意字符序列(直到行尾)。这种替换是由预处理器执行的,并且发生在程序编译之前,从而导致一种盲目替换:所涉及的类型或语法的有效性不会以任何方式检查。

例如:#define identifier replacementidentifierreplacement

#include <iostream>
using namespace std;

#define PI 3.14159
#define NEWLINE '\n'

int main ()
{
  double r=5.0;               // radius
  double circle;

  circle = 2 * PI * r;
  cout << circle;
  cout << NEWLINE;

}
31.4159
在 cpp.sh 上编辑和运行

请注意,这些行是预处理器指令,因此是单行指令,与C++语句不同,它们不需要末尾的分号 (;);该指令会自动延伸到行尾。如果行中包含分号,则它是替换序列的一部分,并且也包含在所有替换的匹配项中。#define

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表