C++命名空间

  为什么c++提出了命名空间呢

1,防止项目组多个人定义的名字冲突

这里举个栗子

 我在两个头文件里都定义了Iint()这个名字的函数,然后在主函数调用这个名字的函数

 但是这个时候我调用的是list.h的函数还是queue.h的函数呢

于是就有了报错,这里就体现出了命名空间的重要性了。

 这里使用命名空间 就可以避开定义了相同名字的问题

补充:这里的同名函数应该是函数重载了

这里补充一点关于函数重载的部分内容(搬运)

函数重载的规则:

函数名称必须相同。
参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)。
函数的返回类型可以相同也可以不相同。
仅仅返回类型不同不足以成为函数的重载。
二、函数重载的作用:
重载函数通常用来在同一个作用域内 用同一个函数名 命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。
————————————————
(搬运函数重载作者原文链接:https://blog.csdn.net/alidada_blog/article/details/80734900

2,防止和库里的名字冲突 例如在使用cout endl这些关键字时要用std的命名空间

 

所以这里要using一下 namespace std

::   这个符号 叫做 域作用限定符

指定命名空间访问、
全局展开. 一般情况,不建议全局展开的。
部分展开

这三个功能

其一的指定命名空间访问如上面的 lsy1::Iint(),这里访问的list.h里的Iint。

其二 全局展开例如 在main函数之前的using namespace std;

其三 部分展开,举个栗子

 这里部分展开了cout,相当于将cout将函数库里释放了出来,但是endl没有释放,所以这里会报错

但是将cout 和endl都释放出来 就没有问题了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚安刘十三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值