关于#define大家在熟悉不过,在函数的最外部,可以利用#define定义一个全局变量,具体写法:
#include<iostream>
using namespace std;
#define NUM 100
void maix()
{
……
}
那么我们在main函数中,只要写入变量NUM,那么他的值就是100。
但这里讲到的是一些包含在预处理中的知识,我们可以把它理解为在写.h文件是需要的一些东西。当然不写也不错,但是很多地方会考这方面知识。给出一个简单的代码:
Sales_data.h头文件
1 #ifndef SALES_DATA_H
2 #define SALES_DATA_H
3 #include<string>
4 class Sales_data{
5 std::string bookNo;
6 int sold = 0;
7 }
8 #endif
首先给出一些定义,预处理变量有两种状态:已定义和未定义。
#define 指令把一个名字设定为预处理变量
#ifdef 当且仅当变量已定义时为真
#ifndef 当且仅当变量未定义时为真。
一旦最终判定返回值为真时,则执行后续操作直至遇到#endif指令为止
那么我们看上面的代码,第1行判定,发现未定义,则#ifndef返回结果为真,则向下执行。第2行定义变量,一直执行到第8行发现#endif指令,则停止。