我想跳过某些范围以直接访问静态变量,而无需编写所有范围。

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

其中Out是指向我要通过写入访问的静态变量的指针

nts::Out

有没有办法在我的命名空间nts中使用prepocessor define或另一个指针来做到这一点?

也许仅仅是架构错误,我应该把我的静态变量放在nts名称空间中吗?

最佳答案

最干净的方法是为您的特定情况定义别名:
using Out = CLI::Mode::AMode::Out;名称空间内的nts

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

通常不赞成包含整个名称空间,因为如果导致“名称空间污染”,但也可以:using nts::CLI::Mode::AMode;

09-27 17:38