为什么visual express 2008在键入system
时没有给我std::
的选项,虽然我听说它是<cstdlib>
的一部分?
答案 0 :(得分:2)
可能是系统在toplevel命名空间中定义,并且只通过using语句包含在std中。这样它实际上不会在命名空间std中,而是可以通过它访问。
只有一个顶级或全局命名空间::。所以:: global就是那个功能。如果他们将该功能实现为
void system(...);
namespace std { using ::system; }
可以解释这种行为。系统签名可能有误,没有检查。