使用 `using` 编译指令可以让你在多个函数中使用同一个变量名而不需要每次都写出完整的命名空间。下面是一个例子:
#include <iostream>
namespace ns1 {
int x = 10;
}
namespace ns2 {
int x = 20;
}
using namespace ns1;
int main() {
std::cout << x << "\n"; // 输出 10
std::cout << ns2::x << "\n"; // 输出 20
return 0;
}
在上面的例子中,我们定义了两个命名空间 `ns1` 和 `ns2`,并分别在其中定义了 `x` 变量。在 `main` 函数中,我们使用了 `using namespace ns1`,这意味着我们可以在 `main` 函数中直接使用 `x`,而不需要写出完整的命名空间 `ns1::x`。此外,我们还使用了 `ns2::x` 来访问另一个命名空间中的变量。
需要注意的是,使用 `using` 编译指令可能会导致命名冲突问题,因此需要谨慎使用。