0
#ifndef api_H_
#define api_H_
...
#endif

在上面的代码中,它正在检查文件是否已经包含在内,以避免多次包含。

问题:

我想知道是否有更好的方法可以做到这一点以及它的替代方法是什么,如果这是更好的方法,那么为什么会这样?

4

1 回答 1

0

对于大多数(如果不是全部)现代编译器,您可以使用#pragma once执行相同工作但可能更快的编译器。

您还消除了名称冲突的风险,如果两个不同的头文件包含相同的预处理器符号 ( api_H_),就会发生这种情况。

基本上代替:

#ifndef api_H_
#define api_H_

... header content

#endif

你写:

#pragma once

... header content

还阅读#pragma once与包括警卫?安全包括警卫吗#pragma once

于 2019-09-04T15:12:16.603 回答