C++ 在头文件中使用只影响此文件的指令

C++ 在头文件中使用只影响此文件的指令,c++,namespaces,header-files,C++,Namespaces,Header Files,有一个头文件在命名空间long::name::space::name 我还想在全局命名空间中专门化这些类的一些模板,即 template<typename T> class GlobalClass<NSClass<T>> { } ... 您可以为名称空间提供短别名(请记住,long在C++中是一个关键字): 您可以为名称空间提供短别名(请记住,long在C++中是一个关键字): 你确定#define很难看吗?或者你只是习惯于在看到预处理器指令时自动反冲并使

有一个头文件在命名空间
long::name::space::name

我还想在全局命名空间中专门化这些类的一些模板,即

template<typename T>
class GlobalClass<NSClass<T>> {

}
...

您可以为名称空间提供短别名(请记住,
long
在C++中是一个关键字):


您可以为名称空间提供短别名(请记住,
long
在C++中是一个关键字):


你确定
#define
很难看吗?或者你只是习惯于在看到预处理器指令时自动反冲并使用“丑陋”一词吗?我确信这看起来并不美,因为你确定
#define
是丑陋的吗?或者你已经习惯于在看到预处理器指令时自动后退并使用“丑陋”这个词了吗?我相信这对我来说并不漂亮
#define NS long::name::space::name
//use NS here
#undef NS
namespace SN = longy::name::space::name;

// ...

SN::my_class obj; // Resolves into longy::name::space::name::my_class