C++ 预处理宏

条件指令

#if,#else,#elif,#ifndef,#ifdef,#endif

 

#if COND

如果COND为真,则编译到下一个条件指令的语句

否则,直接跳到下一个条件指令的语句

#elif COND

如果前面#if的条件是假,且COND为真,则编译到下一个条件指令的语句

否则,直接跳到下一个条件指令的语句

#else

如果前面#if的条件是假,则编译到下一个条件指令的语句

否则直接跳过

#ifndef SOMETHING

如果未定义SOMETHING,则编译到下一个条件指令的语句

否则,直接跳到下一个条件指令的语句

#ifdef SOMETHING

如果定义了SOMETHING,则编译到下一个条件指令的语句

否则,直接跳到下一个条件指令的语句

#endif 

结束最近的条件语句

 

定义指令

#define

 

语法一
#define A B

把下文中的A全部替换成B

语法二

#define A\

B\

C\

D

把下文中的A全部替换成

B

C

D

语法三

#define FUNC(EXPR1,EXPR2)  EXPR1 operator EXPR2

定义函数

每一个变量尽量打括号

如调用上述函数

假设 operator 是 *

FUNC(1+2,1+2)实际调用 1+2*1+2==5

可是我们想要的是(1+2)*(1+2)==9

所以正确的是

#define FUNC(EXPR1,EXPR2) ((EXPR1)operator(EXPR2))

 

包含指令

#include<FILE>

#include"FILE"

两个指令不同在于

#include<FILE>包含系统FILE,如cstdio

#include“FILE”先在当前文件包含文件夹搜索FILE,之后才进入系统文件夹搜索

错误与警告指令

#error STH

#warning STH

将STH作为错误或警告内容在编译时显现。

友情链接:https://www.cnblogs.com/miyazakehime/p/9154357.html

转载于:https://www.cnblogs.com/ColinWang-OIer/p/10490791.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值