由于命名空间std已经具有包含函数定义的c ++库(如果我正确的话),那么为什么我们要在其顶部包含头文件?由于命名空间std包含c ++标准库,因此我看不出要单独包含它的声明的理由。
这样做时,#include <iostream>
它将导致源文件中包含一组类和其他内容。对于iostream和大多数标准库头,它们将这些东西放在名为的名称空间中std
。
因此,的代码#include <iostream>
如下所示:
namespace std {
class cin { ... };
class cout { ... };
class cerr { ... };
class clog { ... };
...
}
因此,此时,您可以编写如下程序:
#include <iostream>
int main() {
std::cout << "hello\n";
return 0;
}
现在,有些人觉得这std::cout
太冗长了。因此,他们这样做:
#include <iostream>
using namespace std;
int main() {
cout << "hello\n";
return 0;
}
就个人而言,我建议不要这样做,如果您真的觉得这std::cout
太冗长,则建议您使用较小的using
语句。
#include <iostream>
using std::cout;
int main() {
cout << "hello\n";
return 0;
}
如果您想知道为什么我建议反对using namespace std
,那么我将把您转发到关于stackoverflow的以下其他两个帖子:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句