首页 > 解决方案 > 预处理器:为什么要仔细检查是否需要包含头文件?

问题描述

通常会找到这样的代码:

#if !defined(THIS_HEADER_FILE)
#define THIS_HEADER_FILE

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

...

#endif // THIS_HEADER_FILE

如果在块#pragma once内使用它的目的是什么?#ifdef

如果#pragma once提供了一种更有效的方法来只包含一次标题,那么它不应该出现在块之前和#if !defined(THIS_HEADER_FILE)块之外吗?

标签: c-preprocessorpragmaconditional-compilation

解决方案


推荐阅读