c++入门之命名空间篇,还有一点点缺省小知识

本文讨论了C++相较于C语言的优势,特别是其引入的命名空间机制,用于解决代码中出现的命名冲突问题。作者介绍了命名空间的使用方法,包括using、命名空间嵌套以及缺省函数,并强调了在实际编程中的应用和注意事项。
摘要由CSDN通过智能技术生成

C++相较于c语言的优点有哪些,为什么C++之父要创造C++?我想其中一个因素就是因为出现重名这种情况吧,你或许会疑惑重名是怎么出现的,只要控制取不同名字就行。这种想法在我们刚开始时学语言时经常会出现。但是,在公司工作时,重名却是很常见的事情,一个项目或者工程是通过多人合作的完成,因为多多少少会出现用同样名字的事情,而且,对于几千几万行代码而言,就算是我们自己完成,也难免会出现命名重复的问题。所以命名空间就出现了。

这是出现命名空间重复后的提醒,在同一个作用域里面只能出现一个相同名字的变量,而且遵守先在作用域找,找不到再到全局找的原则

我们可以用命名空间解决重名这个问题,你可以把命名空间想象成除局部域和全局域以外的另一块作用域,因此我们可以在这个域上重新命名。

1.namespace的使用

namespace 加名字(你可以随便命名),在作用域({花括号里面})你可以加数据类型,函数,甚至是另一个namespace(嵌套)或者宏

我们可以通过以下三种方法去使用这个num里面的a

2.第一种:using namespace num;

注意:必须先定义完在使用,不然会报错。

对于自己创造的命名空间不推荐这个形式,因为这种把里面所有的名字全部展开,如果在另一个命名空间(非嵌套)也使用过这个名字同时也展开也会造成命名冲突。

这种方式的访问顺序在局部域和全局域之后,如果我没有注释,那先局部a==1,局部注释掉a==0,局全注释掉a==2。

3.第二种  直接在变量名里面加命名空间的名字::

如num::a

这种你就没必要去在意访问顺序了,已经规定必须在这里面找。

现在是我简单cv一下的,但是在实际工作中,如果你每次写都要加num::是不是太麻烦了,所以我个人推荐第三种。

4.第三种: using 命名空间名加::要用的变量名。

例子:using num::a;

你想使用一个名字的时候就只展开使用一个,不会突然出现多个名字,可控性高。

注意:这种也需要考虑到访问顺序。

5.嵌套namespace使用里面的里面那个命名空间的方法

多加一层::就行了,方法跟前面三种一样。

6.缺省函数

我们学过了c语言,知道了函数定义有参数的必须传递参数才能使用。

这是c语言的局限性,但是c++解决了这个问题;

对于你没有传参的函数,你可以给定一个缺省值(默认值)完成这个函数。

(1)全缺省的使用方法。

你可以从左到右去传入参数,但是不能从右往左传入参数。

(2)半缺省的使用方法

半缺省的定义为存在一个参数没有缺省值就是半缺省

因为前面全缺省红字的解释,我们知道参数必须从左往右传,因此在出现定义中左边那个是有缺省值,右边那个没有的情况,计算机不能很好的处理,它不知道把10这个值放在哪里,而导致了后续步骤不能运行,20就不能传入参数中

谢谢未来的佬,现在的佬的阅读。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值