码迷,mamicode.com
首页 > 其他好文 > 详细

#ifdef...#endif作用

时间:2017-06-10 14:04:45      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:翻译   end   .cpp   cpp   using   定义   argc   str   san   

#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指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码。

#ifdef...#endif作用

标签:翻译   end   .cpp   cpp   using   定义   argc   str   san   

原文地址:http://www.cnblogs.com/smartkeke/p/6978346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!