zoukankan      html  css  js  c++  java
  • #ifdef...#endif作用

    #ifdef语句1
      //程序2
    #endif

    可翻译为:如果宏定义了语句1则程序2。
    作用:我们可以用它区隔一些与特定头文件、程序库和其他文件版本有关的代码。

    解释如下:
    代码举例:新建define.cpp文件

    #include<iostream>
    usingnamespacestd;
    intmain(intargc,char*argv[])
    {
        #ifdefDEBUG
      cout<<"Beginningexecutionofmain()"<<endl;
      #endif
      return0;
    }

    运行结果为:

    Pressanykeytocontinue
      
    改写代码如下:

    #include<iostream>
    usingnamespacestd;
    #defineDEBUG
    intmain(intargc,char*argv[])
    {
      #ifdefDEBUG
      cout<<"Beginningexecutionofmain()"<<endl;
      #endif
      return0;
    }

    运行结果为:

    Beginningexecutionofmain()
    Pressanykeytocontinue
      

    更一般的情况是,#define语句是包含在一个特定的头文件中。
    又比如,新建头文件head.h,在文件中加入代码:

    #defineDEBUG
    #ifdefDEBUG
    #endif
    
    而在define.cpp源文件中,代码修改如下:
    #include<iostream>
    #include"head.h"
    intmain(intargc,char*argv[])
    {
      #ifdefDEBUG
      cout<<"Beginningexecutionofmain()"<<endl;
      #endif
      return0;
    }

    运行结果如下:

    Beginningexecutionofmain()
    Pressanykeytocontinue
      
    结论:
    通过使用#ifdef指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码。

    Smartkeke
  • 相关阅读:
    2021.5.10-(叶子相似的树)
    2021.5.8-N皇后(回溯)
    2021.5.6-(雪糕最大数)
    2021.4.23刷题(回溯-全排列)
    可持久化动态图上树状数组维护01背包
    Infinite String Comparision
    第6章 操作系统 存储器管理(二)
    markdown
    操作系统 第6章 存储管理(一)
    操作系统 第五章 死锁 (二)
  • 原文地址:https://www.cnblogs.com/smartkeke/p/6978346.html
Copyright © 2011-2022 走看看