我有一個名稱空間層次結構,並希望給出一些長名稱空間名稱的縮寫。例如,我有如何給名稱空間添加縮寫?
Math::Geometry::OneDimension::
,我想使用OneDimension
Ge
爲Geometry
和D1
因此以下工作
Math::Ge::OneDimension::
Math::Geoemtry::D1::
Math::Ge::D1::
是否可以使用命名空間別名辦呢?
我有一個名稱空間層次結構,並希望給出一些長名稱空間名稱的縮寫。例如,我有如何給名稱空間添加縮寫?
Math::Geometry::OneDimension::
,我想使用OneDimension
Ge
爲Geometry
和D1
因此以下工作
Math::Ge::OneDimension::
Math::Geoemtry::D1::
Math::Ge::D1::
是否可以使用命名空間別名辦呢?
要訪問它這樣,你需要申報其封閉命名空間內的命名空間的別名:
namespace Math {
namespace Ge = Geometry;
namespace Geometry {
namespace D1 = OneDimension;
}
}
你可以的當然,在其他示波器中聲明別名,並在該範圍內簡單地將其作爲Ge
和D1
進行訪問。
您可以使用命名空間別名:
namespace D1 = Math::Geometry::OneDimension;
namespace Ge = Math::Geonetry::OneDimension;
要麼你可以做混淆了命名空間內,或者,你可以做到這一點,從命名空間的外部:
namespace Ge = Math::Geometry;
namespace D1 = Ge::OneDimension;
Ge::element_of_geometry;
D1::element_of_one_dimension;
我喜歡這個解決辦法,但使用它在一個範圍內,以避免名稱衝突。
不應該使用XXX = ...? –
@ the_drow:不,''using'只是將名稱空間帶入作用域。它不爲命名空間創建別名。 –
我確定我前段時間使用過XXX = YYY。 –