C++ #if、#elif、#else和#endif指令 的使用

本文详细介绍了C++中的条件编译指令#if、#elif、#else和#endif的用法,包括作为多行注释、在宏定义中的应用,以及defined关键字的使用。通过实例展示了如何根据条件控制源文件编译和不同路径下的代码执行。
摘要由CSDN通过智能技术生成

C++ #if、#elif、#else和#endif指令 的使用

#if、#elif、#else和#endif指令 的作用

#if 指令,与 #elif#else#endif 指令,控件源文件的生成。如果表达式编写 (在 #if) 后有一个非零值,在 #if 指令后的行组在该翻译单元保留

#if注意使用:

必须以结束 #endif 指令与源文件中的每个 #if 指令。任意数量的 #elif 指令可以出现在 #if 和 #endif 指令之间,但是,最多一个 #else 指令允许。#else 指令,如果有,则必须是最后一个指令。

#if的使用

  1. #if 后面跟一个为0的时候里面就不会编译,可以当做多行注释使用如下
```cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
 
#if 0
123sdf 
adinf adfm iasdf adflkj adsf 
adf afd afd adsf 
大大ad
暗室逢灯安分阿斯顿发
#endif
 
    return 0;
};
  1. 宏定义的时候使用(C++中 true 可以当做 1,false 当做0)
#include <iostream>
#include <string>
using namespace std;
#define POWER 1
int main()
{
#if POWER == 1
    cout << "power==1" << endl;
#elif POWER == 2
    cout << "power==1" << endl;
#else
    cout << "power==1" << endl;
#endif
 
        return 0;
};

打印结果:
在这里插入图片描述

  1. 使用defined的情况
    这个是说defined(xx) 的意思是xx 有没有被宏定义,如果定义了为true 否则为false

如下 power 被宏定义了,所以打印结果是power==1 具体的如下

#include <iostream>
#include <string>
using namespace std;
#define POWER 1
int main()
{
 
#if defined(POWER)
    cout << "power==1" << endl;
#elif defined(HELLO)
    cout << "power==1" << endl;
#else
    cout << "power==1" << endl;
#endif
 
        return 0;
};
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值