c++ -- #define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined

#define            定义一个预处理宏
#undef            取消宏的定义
#if                   编译预处理中的条件命令,相当于C语法中的if语句
#ifdef              判断某个宏是否被定义,若已定义,执行随后的语句
#ifndef            与#ifdef相反,判断某个宏是否未被定义
#elif                若#if, #ifdef, #ifndef或前面的#elif条件不满足,则执行#elif之后的语句,相当于C语法中的else-if
#else              与#if, #ifdef, #ifndef对应, 若这些条件不满足,则执行#else之后的语句,相当于C语法中的else
#endif             #if, #ifdef, #ifndef这些条件命令的结束标志
defined           与#if, #elif配合使用,判断某个宏是否被定义

1、 #ifndef    #else    #endif

#ifndef  标识符
         //程序段1
#else
        //程序段2
#endif

若标识符未被定义则执行程序段1,否则执行程序段2。

#ifndef 和 #ifdef 相反。

2、 #define    #undef

#define:定义一个宏

#undef:取消宏定义

3、defined

defined:用来测试某个宏是否被定义。 若宏被定义,则返回1,否则返回0。

与#if、#elif、#else结合使用来判断宏是否被定义

4. #if、#elif、#else、#endif 

#if 常量表达式1
    // 程序段1
#elif 常量表达式2
    // 程序段2
#else
    // 程序段3
#endif

 常量表达式可以是包含宏、算术运算、逻辑运算等等 。如果常量表达式为一个未定义的宏, 那么它的值被视为0。例如:

#if DEBUG // 等价于

#if 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值