zoukankan      html  css  js  c++  java
  • C/C++避免头文件包含造成的重定义方法

    在一段时间的编程中,时常会遇到重定义(redefinition)问题。一般都是#include在包含头.h文件时出现了重复包含的关系。运气好的话可以比较容易的发现问题,运气不好的话只好列出所有的头文件.h中的包含关系,挨个检查是哪里出了问题。最近发现如果遵循“在头文件.h中不再包含头文件.h”的原则,可以从根本上避免这个问题。虽然这样做会使得在代码文件.c或.cpp中必须各自包含进来所需的头文件.h,还要注意在包含时可能会存在顺序的问题,但这比起查找何处进行了重定义来说简单了许多,也使包含关系更加清晰。

    对原来的项目中的所有文件按上述原则进行了修改,暂未发现不良影响,感觉还不错。

    加上一句,也可以在预编译区加上 #pragma once来防止重定义,

    注意#ifndef...  #define... #end if  以及 extern 的用法

  • 相关阅读:
    01Game
    面试题
    面试题
    面向对象笔记
    1212作业
    12011作业
    1210作业
    1206作业
    1205作业
    1204作业
  • 原文地址:https://www.cnblogs.com/masonchi/p/3515731.html
Copyright © 2011-2022 走看看