在命名空间外包含标题

Include header outside of namespace

本文关键字:标题 包含 命名空间      更新时间:2023-10-16

我几乎没有复杂的标头文件,我在命名空间内包含这些文件。在标头文件的中间,包括一些标题。是否有一种简单的方法可以包括全球范围中的标头?即,在下面的代码中,我可以指示要包含在全局名称空间中的某个开头吗?

#pragma once
namespace foo
{
    // lots of code; 
    // depending on lots of conditions defined above
    #define bar
#ifdef bar
    #include <someheader> // would be available only when bar is set/ 
#endif
// 

是的,这将是非常有可能的,尽管您必须在使用该标头文件的代码位时检查#define bar是否定义。我还建议您在包含标头之前关闭命名空间。