C++_define

什么是预处理指令?

预处理指令是以#开头的代码行,#后是指令关键字,整条语句构成了一条预处理指令。

#空指令
#include 包含一个源代码文件 
#define 定义宏
#undef 取消已经定义的宏
#if 条件为真,编译代码
#ifdef 宏已经定义,则编译代码
#ifndef 如果宏没有定义,则编译代码
#elif 如果前#if给定条件不为真,当前条件为真,编译下面代码
#endif 结束一个#if #else条件编译块
#error 停止编译并显示错误信息

 

1.基本define 宏定义

#define value 100
int main()
{
    int i = 100;
    if (i == value)
    {
        cout << "log" << endl;
    }
}

编辑器在预处理阶段做简单的替换,预处理会将代码中宏标识符替换成定义时的值,

上述,会将value 替换为 100

2.define 宏函数

define 可以像函数接受一些参数

#define max(x,y) (x)>(y)?(x):(y);
int main()
{
    int i = 100;
    if (i == value)
    {
        int b = max(30, 20)
        cout <<b<< endl;
    }
}

3.#ifdef #ifndef #endif 

#define DEBUG 1
int main()
{
//if def 如果该宏定义,下列代码即被编译
#ifdef DEBUG
    cout << "ifdef_debug" << endl;
#endif 
#ifndef DEBUG
    cout << "ifndef_debug" << endl;
#endif
}

#if /#elif / #endif

int main()
{
    int a = 2;
#if a>5
    cout << "log1" << endl;
#else 
    cout << "log2" << endl;
#endif
#if a>5
    cout << "log3" << endl;
#elif a<5
    cout << "log4" << endl;
#endif
    return 0;
}

 

posted on 2021-05-30 20:31  Animer  阅读(87)  评论(0编辑  收藏  举报