gt6*_*89b 7 c++ namespaces using rename reference
我有一个类,我想在我的头文件中引用它,它位于一长串嵌套命名空间中:MySpaceA::MySpaceB::MySpaceC::MySpaceD::MyVeryLongNamedClass.我想以不同的名称使用它,但不是MyVeryLongNamedClass- 更短更有用的东西,比如MyClass.
我可以放入using MySpaceA::MySpaceB::MySpaceC::MySpaceD我的标题,但我不想导入整个命名空间.我宁愿有某种结构
using MyClass = MySpaceA::MySpaceB::MySpaceC::MySpaceD::MyVeryLongNamedClass
我知道这可以使用名称空间,但我似乎无法使用它来使用类.
非常感谢您的帮助.
Jos*_*ley 16
typedef MySpaceA::MySpaceB::MySpaceC::MySpaceD::MyVeryLongNamedClass MyClass;
Run Code Online (Sandbox Code Playgroud)
对于模板,您可以使用模板typedef:
template <typename T>
struct MyClass {
typedef MySpaceA::MySpaceB::MySpaceC::MySpaceD::MyVeryLongNamedClass<T> type;
};
Run Code Online (Sandbox Code Playgroud)
现在你可以参考MyClass<T>::type而不是MySpaceA::MySpaceB::MySpaceC::MySpaceD::MyVeryLongNamedClass<T>.
| 归档时间: |
|
| 查看次数: |
5181 次 |
| 最近记录: |