zoukankan      html  css  js  c++  java
  • C++预处理相关

    1. #include 是将指定源代码文件嵌入到当前源文件所指定位置,例如:#include <iostream>

    其后文件有尖括号< >和双引号" "两种不同,< >是标准嵌入,会搜索编译环境下的include子目录," "则是优先搜索当前目录下中的文件,如果搜索不到,再搜索编译环境下的include子目录。

    所以双引号一般适用于用户自己编写的文件。

    2. #define 宏定义,宏是一个代表特定内容的标识符,在预处理过程中会把源代码中出现的宏标识符替换为宏定义时的值。这里需要注意的是宏只是简单的文本替换,和内联是有区别的。而且由于是文本替换,需要注意不要产生歧义。

    比如:

    #define func(x) (x*x)

    #ifdef func//不可以写参数

      cout<<func(a+b)<<endl;

    结果会产生错误,因为文本被替换为了cout<<a+b*a+b<<endl;

    正确应该把#define func(x)  ((x)*(x))

    3.#undef,取消已定义宏,字面意思

    4. 

    #if如果给定条件为真,则编译下面代码

    #ifdef如果宏已经定义,则编译下面代码

    #ifndef如果宏没有定义,则编译下面代码

    #elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码

    #endif结束一个#if……#else条件编译块

    #error停止编译并显示错误信息

  • 相关阅读:
    异常类
    设计模式
    java的参数传递
    meta 标签中 http-equiv 的作用
    导入CSV格式文件方法
    第四次博客作业-结对项目
    第九次作业-接口及接口回调
    第八次作业-继承
    软件工程第三次作业——关于软件质量保障初探
    Java第七次作业
  • 原文地址:https://www.cnblogs.com/spock12345/p/11557357.html
Copyright © 2011-2022 走看看