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的时候里面就不会编译,可以当做多行注释使用如下
#include <iostream>
#include <string>
using namespace std;
int main()
{#if 0
123sdf
adinf adfm iasdf adflkj adsf
adf afd afd adsf
大大ad
暗室逢灯安分阿斯顿发
#endifreturn 0;
};
2 宏定义的时候使用(c++中 true 可以当做 1,false 当做0)
#include <iostream>
#include <string>
using namespace std;
#define POWER 1
int main()
{
#if POWER == 1cout << "power==1" << endl;
#elif POWER == 2cout << "power==1" << endl;
#elsecout << "power==1" << endl;
#endifreturn 0;
};
打印结果:
3 使用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;
#elsecout << "power==1" << endl;
#endifreturn 0;
};
C++ #if、#elif、#else和#endif指令 的使用相关推荐
- C 语言:#endif 指令
本文章解释了如何在 C 语言中使用 #endif 预处理器指令.更多C教程请访问码农之家 描述 在 C 编程语言中,#endif 指令关闭以下指令:#if.#ifdef 或 #ifndef.当遇到#e ...
- #if 0 #elif 1 #else #endif 用法
跟我们平时用的if,else if,else一样,不同的是这里一定要记得#endif #include<iostream> using namespace std; # if 1 int ...
- 条件编译#define、#undef、#if、#elif、#elif defined、#elif !defined 、#endif用法
条件编译 上代码 // what is the fucking shit.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h"#include &l ...
- C Primer Plus(第5版)中文版
1. 在声明一个简单变量和数组时使用关键字const很简单.指针则要复杂一些,因为不得不把让指针本身成为const与让指针指向的值成为const区分开来.下面的声明表明pf指向的值必须是不变的: 但p ...
- c语言 define宏名称if(参数),iOS深思篇 | 宏定义
一. 简介 宏是一种批量处理的称谓,简单来说就是根据定义好的规则替换一定的文本.替换过程在程序编译期,也因此大量使用宏会造成编译时间变长:而且替换过程不进行类型安全检查;还需要注意"边缘效应 ...
- iOS深思篇 | 宏定义
一. 简介 宏是一种批量处理的称谓,简单来说就是根据定义好的规则替换一定的文本.替换过程在程序编译期,也因此大量使用宏会造成编译时间变长:而且替换过程不进行类型安全检查;还需要注意"边缘效应 ...
- C#预处理器指令之#define/#undefine/#if/#elif/#else/#endif
预处理器命令的功能非常强大,在编程过程中的使用也非常广泛,比如在版本发布中使用非常方便: 1,#define(告诉编译器存在给定名称的符号) #undefine(删除符号) 2,#if # ...
- C# #if, #else和#endif预处理指令
#if 使您可以开始条件指令,测试一个或多个符号以查看它们是否计算为 true.如果它们的计算结果确实为true,则编译器将计算位于 #if 与最近的 #endif 指令之间的所有代码.例如, ...
- elif是不是java关键字_C# 中的#if、#elif、#else、#endif等条件编译符号 (转载)
这些是C#中的条件编译符号.这些指令我在项目中遇到过,查过网络,问过人(当然,既不认识大牛,也不认识小牛,所以没什么收获).今天翻看一本资料,有提到这个方面的东西,所以写下来和能看到这篇文章的人一起学 ...
最新文章
- java培训机构如何选择适合自己的
- HADOOP常见错误
- 网络工程师常用英文简写
- linux 开启独立iptables日志
- FTP之‘基础连接已关闭:服务器提交了协议冲突’错误探析
- vue 生产word_nodejs(officegen)+vue(axios)在客户端导出word文档
- JS判断数字/字母/中文
- Qt文档阅读笔记-Fortune Client Example实例解析
- 四旋翼双环PID控制
- nodejs 延时函数
- pandas笔记(7)DataFrame数学运算
- phython入门开始
- 练习题 斐波那契数列
- AboutSpace
- 电脑的ppt打不开计算机二级,打不开电脑中的ppt文件并提示访问出错的解决方法...
- o.m.s.m.ClassPathMapperScanner : No MyBatis mapper was found in ‘[com.XXX.XXX]‘ pack
- uni-app微信小程序微信登录(获取头像、个性签名等基本信息)
- 情人节——与她对弈五子棋(Python实现)
- Gitbook离线电子书打包方案
- 基于Vue3+Spring Boot+Web的学生选课管理系统
热门文章
- VS Code 配置调试参数、launch.json 配置文件属性、task.json 变量替换、自动保存并格式化、空格和制表符、函数调用关系、文件搜索和全局搜索、
- Redis 高级特性(2)—— 发布 订阅模式
- 知识蒸馏(Knowledge Distillation)详细深入透彻理解重点
- pytorch中查看gpu信息
- 高并发下的接口幂等性解决方案
- LeetCode简单题之汇总区间
- 晶体管逻辑芯片设计微缩图形化
- TensorFlow优化器及用法
- MEMS传感器作为变革的驱动力
- 2021年大数据ELK(十二):Elasticsearch编程(环境准备)