STLPORT:命名空间std {}是什么意思?

Nav*_*Nav 7 c++ namespaces

在stlport库中,我看到了这段代码:

namespace std { }
namespace __std_alias = std;
Run Code Online (Sandbox Code Playgroud)

1.他们是否试图std在第一行中取消标准命名空间?
2.为什么世界上他们会使用更长的别名来代替原来的名字?

D.S*_*ley 8

在声明别名之前,您需要名称空间"在范围内".空namespace std {}通知编译器命名空间存在.然后他们可以为它创建一个别名.

除了创建快捷方式之外,还有创建别名的原因.例如,您可以定义一个宏来"重命名"命名空间 - 考虑其效果#define std STLPORT_std.如果您使用头文件播放正确的订购游戏,则使用别名可以访问原始命名空间.