【发布时间】:2021-05-06 03:22:50
【问题描述】:
习惯了
using namespace std;
这将使std 中的符号可用,因此我可以输入string mystring 而不是std::string mystring。
但是今天在阅读一些代码时,我在头文件中找到了using namespace::std;(带有双冒号)。
它与using namespace std; 有何不同?
我知道 using namespace std; 不应该用于头文件,但是 using namespace::std; 呢?
【问题讨论】:
-
我是
using namespace ::std。 -
C++标准规定“所有库实体都定义在命名空间std中。”...所以你所有的标准C++库函数等等...都是通过命名空间暴露的标准。至于
using namespace std;的快捷方式,见Why is “using namespace std;” considered bad practice?