首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么需要我声明"using namespace std;"?

什么需要我声明"using namespace std;"?
EN

Stack Overflow用户
提问于 2010-02-08 04:11:30
回答 8查看 9K关注 0票数 17

这个问题可能是重复的,但我找不到一个好的答案。简明扼要,我需要声明的是

代码语言:javascript
复制
using namespace std;

在C++程序中?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-02-08 04:16:29

由于C++标准已经被接受,实际上所有的标准库都在std名称空间中。因此,如果您不想用std::限定所有标准库调用,则需要添加using指令。

然而,

代码语言:javascript
复制
using namespace std;

被认为是一种糟糕的做法,因为您实际上是在导入整个标准名称空间,从而为名称冲突打开了许多可能性。最好只导入代码中实际使用的内容,例如

代码语言:javascript
复制
using std::string;
票数 44
EN

Stack Overflow用户

发布于 2010-02-08 04:13:52

这是避免在该名称空间中的所有内容加上std::前缀的一种快捷方式。

票数 22
EN

Stack Overflow用户

发布于 2010-02-08 04:14:06

无需显式引用std::member即可引用std命名空间中的成员的能力。例如:

代码语言:javascript
复制
#include <iostream>
using namespace std;

...
cout << "Hi" << endl;

代码语言:javascript
复制
#include <iostream>

...
std::cout << "Hi" << std::endl;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2218140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档