命名空间别名是否会更改链接?

spa*_*ger 4 c++

根据我的理解,.cpp文件中的全局变量可以外部链接.假设有两个源文件,a.cpp并且b.cpp:

// a.cpp
namespace a_ns
{
  int foo;
}

// b.cpp
namespace b_ns
{
  int foo;
}
Run Code Online (Sandbox Code Playgroud)

现在假设两者分别在之后namespace ns=a_ns;和之后namespace ns=b_ns;.这会不会触发任何不确定的行为一样会有(我认为)如果同时a.cppb.cpp刚刚使用相同的命名空间nsfoo

Ker*_* SB 5

号你提出的别名不改变的事实,这些变量的限定名称a_ns::foob_ns::foo,这是不同的.