有关C++编程 “using namespace std”和“std::”

在学校老师和课本用的都是“usingnamespacestd”,但是从来没有看到过std::网上很多人写的code里面都有出现带有std::的语句。两者有什么关系么?没学... 在学校老师和课本用的都是“using namespace std”,但是从来没有看到过std::
网上很多人写的code里面都有出现带有 std::的语句。
两者有什么关系么?
没学过后者会对编程有什么影响么?
本人没学的很深,百度百科上的看的不是很明白,请用浅显一点的方式解答
展开
 我来答
小黑跳大不解释
推荐于2016-08-17 · TA获得超过432个赞
知道小有建树答主
回答量:428
采纳率:0%
帮助的人:381万
展开全部
举个例子给你 using namespace 是指用命名空间的意思

using namespace std;
表示用std的命名空间

你若是在程序里面用了这个语句 那你用c++的输出的时候

可以直接用cout<<"aaaa"<<endl;

但是你没用用这句话的话

你需要用 std::cout<<"aaa"<<std::endl;

这样才行 不然你直接用cout的话就会报错

个人建议不要直接用using namespace xxx
这样会造成命名空间很混乱

我都是直接需要的时候就加进去用 如 std::cout....
追问
为什么会造成混乱呢,可不可以再举几个例子?我百科了一下“命名空间”,上面说用using name std反而可以减少麻烦。
追答
这么说吧 可能是个人喜好  

比如我不加 using namespace std;
using namespace xyz;

那么我在下面的代码里面
当用到 std::cout的时候 我就知道用了命名空间 std
当用到 xyz::func的时候 我就知道用到了命名空间xyz里面的func
我觉得这样更可以让我清楚明白

纯粹个人喜好吧

网上说的也可以算对 你在一开始就用了

那之后就不用那么麻烦的每个语句都加xyz:: 和 std:: 可能也会方便点

但是当两个命名空间有同一个函数的时候 比如 xyz::func 和 abc::func

如果你一开始就声明了命名空间 你觉得会发生什么呢?

自己想想?

是我的话 我会直接用xyz::func 而不是用func 这样就是我说的可以更加清楚明白
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式