C++中的宏定义

1、#endif

#endif用于结束条件编译,编译时与前面最近的#if、#ifdef或#ifndef作为一对,经常一起使用,编译两者之间的部分程序段。

 
2、#if 
 

#if xxx               //若xxx为真,则执行code1部分

    code1 ...

#elif YYY            //若YYY为真,则执行code2部分

    code2 ...

#else ZZZ     //无条件执行code3部分

    code3 ...

#endif

xxx,YYY,ZZZ都可以为判断表达式

 

3、#define    #undef

#define  <宏名>(参数表)  <宏体>     //带参数的宏定义

#undef  <宏名>          //取消宏定义

 

4、#ifdef    #ifndef

#ifdef  xxx   //若xxxdefined 定义过则执行code部分,

    code ...

#endif

 

#ifdef  xxx   //若xxx没有被defined 定义过则执行code部分,

    code ...

#endif

 

5、#if defined    #if !defined

#if defined xxx1       //此时这条语句相当于#ifdef  xxx1        

    code ...

#elif defined (xxx2) && xxx3    //这条语句首先判断xxx2是否被定义(若被定义则 defined (xxx2)为1,若没有定义则defined (xxx2)为0),

                   //然后用判断的结果与xxx3做与运算

    code ...

#endif

 

#if !defined xxx1       //此时这条语句相当于#ifndef  xxx1        

    code ...

#elif !defined (xxx2) && xxx3    //这条语句首先判断xxx2是否被定义(若没有被定义则 defined (xxx2)为1,若定义过则defined (xxx2)为0),

                   //然后用判断的结果与xxx3做与运算

    code ...

#endif

posted @ 2014-10-27 12:25  PrimeLife  阅读(385)  评论(0编辑  收藏  举报