|
命名常量值的另一种机制是使用预处理器定义。它们具有以下形式:
在此指令之后,代码中出现的任何 被解释为 ,其中替换是任意字符序列(直到行尾)。这种替换是由预处理器执行的,并且发生在程序编译之前,从而导致一种盲目替换:所涉及的类型或语法的有效性不会以任何方式检查。
例如:#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
|
|