kik*_*uka 4 c++ namespaces using std
所以有一段时间我一直在使用......
using namespace::std;
Run Code Online (Sandbox Code Playgroud)
最近我意识到这应该是
using namespace std;
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释为什么我在做什么,以及它与声明使用某个命名空间的正确方法有什么不同?
第一个版本有效,因为编译器将其视为
using namespace ::std;
// Notice space^
Run Code Online (Sandbox Code Playgroud)
这只是告诉编译器std在全局范围内查找名称空间.
::左侧没有任何内容的范围运算符与全局范围相同.