【干货】带你读懂c++的using namespace std;

记得在我学习c++面向对象编程(oop)时和小郭同志在学校饭堂吃饭

当时在畅谈人生。书生意气,挥斥方遒

突然,小郭给我说了一件事,小郭当时说他感觉c++学的还差不多,结果有一位朋友提了一个问题:

  • 你知道using namespace std;什么意思吗?

确实,在学习的时候老师只是告诉我们,你们写代码的时候写这个模板就行,却从来没有说过这个是什么意思。所以小郭就开始了奋发之路…

在这里插入图片描述
接下来我们具体探讨一下这个的具体含义。

using namespace std;

叫做using的编译指令

在讲述之前需要先明白字面意思,

  • using:使用
  • namespace:名称空间

合起来就是使用名称空间std

那c++中的名称空间有什么作用呢?

名称空间支持是c++一个重要特性,可以在编写大型程序和将多个代码组合起来时更加容易。

假如:
如果两个组合的程序具有相同的函数score()函数,那样在使用这个函数的时候编辑器会不清楚你到底要使用哪个。这时候名称空间的作用就体现出来了,名称空间可以将其分别封装在两个不同的名称空间A1,A2单元中。如果使用A1名称空间的score函数可以A1::score()调用,同样的如果要使用A2名称空间的score函数可以A2::score()调用。这样程序的编译器就可以根据名称空间区分来进行调用。
即:

A1::score()
A2::score()

根据这种情况,c++将类,函数和变量等等放置在名称空间std中。

因此在预处理器iostream中的输入cin变量、输出cout变量等等实际的调用是:

std::cin>>
std::cout<<

但由于加上名称空间的前缀太过麻烦,在编辑时会浪费很多精力,于是便有了using编译指令

using namespace std;

上面这行代码表示可以使用std名称空间中定义的名称而不用加上std::前缀。

当然这是可以将std名称空间中所有的都进行编译,如果想要使用具体的几个名称,也可以通过using声明进行实现:

using std::cin;
using std::cout;
using std::endl;

这样在使用cin,cout,endl时不用加上std::前缀。
当然正常来说直接一行代码就可以完成:

using namespace std;

大家学到这里明白这行代码的具体作用了嘛,如果有疑问或者文章有不当之处可以下方评论或者私信告诉我哈!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值