在内部定义范围

时间:2017-02-19 04:35:52

标签: c++ c++11

我想跳过一些范围直接访问静态变量而不写下我的所有范围。

nts::CLI::Mode::AMode::Out

其中Out是指向我希望通过编写

访问的静态变量的指针

nts::Out

有没有办法在我的命名空间nts使用prepocessor define或另一个指针?

可能只是一个架构错误,我应该将我的静态var放在nts命名空间中吗?

1 个答案:

答案 0 :(得分:1)

最干净的方法是定义别名,例如,针对您的具体情况:
using Out = CLI::Mode::AMode::Out;命名空间内的nts

当然,您可以在任何级别的命名空间或类中定义任何其他名称别名,例如using O = nts::CLI::Mode::AMode::Out;O是新名称等。

包含整个命名空间通常是不受欢迎的,因为如果产生“命名空间污染”,但也有效:using nts::CLI::Mode::AMode;