【C++】#ifndef #endif含义与使用说明

时间:2024-02-13 10:36:03  热度:0°C

一、C++中#ifndef与#endif含义

说明: #ifndef 和 #endif 是 C++ 预处理器指令,它们通常用来避免头文件的重复包含。

​ 头文件是 C++ 中常用的一种代码***方式,可以将一些公共的代码定义放到一个头文件中,然后在其他文件中通过 #include 指令引用该头文件。然而,如果在多个文件中引用了同一个头文件,那么就会出现重复定义的问题,从而导致编译错误。

为了解决该问题,可以在头文件的开头添加 #ifndef 和 #endif 指令,如下所示:

//testApp/h#ifndef __DEBUG_RUN_TEST_H__#define __DEBUG_RUN_TEST_H__#include testCommom/h #include testApi/h / / /#endif //__DEBUG_RUN_TEST_H__

​ 上述代码的含义为:如果 __DEBUG_RUN_TEST_H__ 宏未被定义,那么就定义它,并执行头文件内容。如果 __DEBUG_RUN_TEST_H__ 宏已经被定义了,那么就不再执行头文件内容,避免重复定义的问题。

​ 当一个头文件被多次引用时,第一次引用时会执行头文件内容,同时定义 __DEBUG_RUN_TEST_H__ 宏;第二次及以后的引用时,由于 __DEBUG_RUN_TEST_H__ 宏已经被定义了,因此不会再次执行 testCommom/h 与 testApi/h 头文件内容,避免重复定义。

​注意: __DEBUG_RUN_TEST_H__ 宏名可以随意命名,只要保证在头文件中唯一即可。常用的做法是将宏名定义为头文件的文件名,加上一个下划线前缀和后缀,如上述示例中的 __DEBUG_RUN_TEST_H__ 宏名。这样可以保证宏名唯一,避免与其他头文件的宏名冲突。

​总结:

  • #ifndef 和 #endif 指令是 C++ 中用来避免头文件重复包含的常用方式,它们可以保证头文件只被编译一次,避免重复定义的问题,提高代码的可维护性。
  • 除了避免头文件的重复包含之外,#ifndef 和 #endif还可以用来实现条件编译,根据不同的条件选择不同的代码执行路径,这也是C++中常用的技巧之一。

如果这篇文章对你有所帮助,渴望获得你的一个点赞!

免责声明:
1. 《【C++】#ifndef #endif含义与使用说明》内容来源于互联网,版权归原著者或相关公司所有。
2. 若《86561825文库网》收录的文本内容侵犯了您的权益或隐私,请立即通知我们删除。