首页 > 代码库 > c++ --#ifdef、#ifndef和重复包含

c++ --#ifdef、#ifndef和重复包含

关于避免头文件的重复引用

  #ifdef 、和 #ifndef 测试某个宏是否被定义,经常用于避免头文件的重复引用。

  头文件的重复引用往往是由于包含嵌套造成的,比如 func.cpp文件包含如下头文件:

  //func.cpp文件中

  #include "A.h"

  #include "B.h"

  而 A.h中包含了 B.h:

  //A.h文件中

  #include "B.h"

  这意味着在 func.cpp文件对应的编译单元中,头文件 B.h被引用了两次,这就是重复包含,重复包含带来的问题便是重复定义。而对普通变量和普通函数来说,声明可以有多次,而定义只能有一次

c++ --#ifdef、#ifndef和重复包含