zoukankan      html  css  js  c++  java
  • 关于重复包含

    1、ifndef

    #ifndef  __TEST_H__
    #define __TEST_H__
    //......
    #endif
    

      该种方式依赖于宏名字不能冲突,可以保证天你哥哥文件不会被包含多次,即使内容完全相同的两个文件(不同目录下)。

      缺点宏名字冲突时会报错:导致头文件命名存在,编译器却找不到声明。

    2、pragma

    #pragma once
    //.... 

      预处理指令,在头文件的最开始加入这条指令:该头文件只被编译一次。

      该条件也能保证同个文件不会被重复包含。同个文件指物理上的同个文件,并非内容相同的两个文件

      该指令有效避免使用宏名,也就避免了宏名字冲突的问题。

    综上,1. #ifndef 由语言支持所以移植性好,#pragma 可以避免名字冲突

  • 相关阅读:
    jTopo——js库
    node.js
    php 入门笔记
    D3 入门笔记
    webpack笔记
    React.js
    Grunt等前端自动化构建工具
    vue3.0的新特性
    electron-builder 打包流程
    vue里面如何下载图片,如何下载文件
  • 原文地址:https://www.cnblogs.com/flysnail/p/2185020.html
Copyright © 2011-2022 走看看