您好,登录后才能下订单哦!
首先了解一下预编译函数:
  #include    包含一个源代码文件
    #define     定义宏
    #undef      取消已定义的宏
    #if         如果给定条件为真,则编译下面代码
    #ifdef      如果宏已经定义,则编译下面代码
    #ifndef     如果宏没有定义,则编译下面代码
    #elif       如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
    #endif      结束一个#if……#else条件编译块
    #error      停止编译并显示错误信
  
  
#include小结:
1. #include <iostream.h>和#include <iostream>区别
#include <iostream.h>是老规范,现已经抛弃
#include <iostream>是新规范,使用名称空间避免名称冲突。即将所有的定义放在了一个名称空间std中
2. #include <iostream>和#include "iostream"区别
#include <iostream>直接在系统的路径下查找此头文件。多是系统的头文件
#include "iostream"首先在当前目录查找,如果没有找到再到系统目录查找
3. 头文件的多次包含问题
编译器对每个文件只编译一次生成一份机器代码.obj,如果在多个地方包含了同一个头文件,则会出现多次包含的错误,即试图让编译器将此文件编译多次生成多份机器代码。
预编译保护解决此问题。
  
#ifdef #ifndef #define #endif 条件编译小结
    #ifdef DEBUG   // 测试DEBUG是否已经定义
      #ifndef DEBUG // 测试DEBUG是否没有定义
      #define             // 定义DEBUG
      #endif                // #ifdef或者#ifndef语句结束
  
      C++中,定义头文件时,为了避免头文件被多次引用而造成的重复定义,需要将整个头文件内容包含在下面的预编译指令中(假设头文件为file.h):
      #ifndef FILE_H
      #define FILE_H
      // 头文件的内容
      #endif
  
  
常见的预编译常量小结
    __plusplus     // 编译C++程序时编译器自动定义
      __STDC__    // 编译C程序时编译器自动定义
      __FILE__      // 当前编译的文件名 
      __LINE__      // 当前编译文件的当前行
      __DATE__    // 编译文件时的日期 
      __TIME__     // 编译文件时的时间
  
    其中,__FILE__与__LINE__在编译期间是不断更新的,其他四个变量在编译期间固定。
  
     assert()
      C语言定义的预编译宏,断言某个表达式为true;若为false,则抛出异常。
  
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。