找到这样的代码很常见:
#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)
块之前和之外吗?