如何为名称空间提供缩写
How to give an abbreviation to a namespace?
我有一个名称空间层次结构,希望为一些长名称空间名称提供缩写。例如,我有
Math::Geometry::OneDimension::
并且我想将Ge
用于Geometry
,将D1
用于OneDimension
,因此以下工作
Math::Ge::OneDimension::
Math::Geoemtry::D1::
Math::Ge::D1::
有可能使用名称空间别名来做这件事吗?
您可以使用命名空间别名:
namespace D1 = Math::Geometry::OneDimension;
要这样访问它,您需要在其封闭的命名空间中声明命名空间别名:
namespace Math {
namespace Ge = Geometry;
namespace Geometry {
namespace D1 = OneDimension;
}
}
当然,您可以在其他作用域中声明别名,并在该作用域中将它们简单地作为Ge
和D1
进行访问。
namespace Ge = Math::Geonetry::OneDimension;
您可以在命名空间内部执行别名,也可以从命名空间外部执行别名:
namespace Ge = Math::Geometry;
namespace D1 = Ge::OneDimension;
Ge::element_of_geometry;
D1::element_of_one_dimension;
我更喜欢这种解决方案,但在一定范围内使用它以避免名称冲突。
相关文章:
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 从父命名空间重载类型
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 在命名空间中定义函数还是限定函数
- C++:对不存在的命名空间使用命名空间指令
- 通过继承类使用来自不同命名空间的运算符
- 使用命名空间时出现多个定义错误
- OpenGL相机和相机空间转型的困惑
- CUDA内核和数学函数的显式命名空间
- 打印第二列时的2d字符矢量打印空间
- 嵌套的匿名命名空间
- CMakeLists.txt中的命名空间表示法
- 一位朋友将模板函数缩写为clang和gcc
- 类是C++中的命名空间吗
- 在命名空间中使用全局命名空间中的函数
- 如何使 std::sort 在 std::swap 和我的命名空间的模板化交换之间没有名称冲突?
- '使用命名空间{嵌套在另一个命名空间中的某个命名空间}"
- 用于在函数内调用命名空间的任何缩写形式
- 如何为名称空间提供缩写