C++入门基础

1.命名空间

1.1namespace的价值

在C/C++中,变量、函数和后⾯要学到的类都是⼤量存在的,这些变量、函数和类的名称将都存在于全
局作⽤域中,可能会导致很多冲突。使⽤命名空间的⽬的是对标识符的名称进⾏本地化,以避免命名
冲突或名字污染,namespace关键字的出现就是针对这种问题的。
c语⾔项⽬类似下⾯程序这样的命名冲突是普遍存在的问题,C++引⼊namespace就是为了更好的解决 这样的问题。

此种情况,会报错, error C2365: “rand”: 重定义;以前的定义是“函数”

1.2namespace的使用

定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。
namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下⾯的rand不在冲突了。

看到图中C::rand,你此时一定很好奇,这是什么,往下看,你便知道了。

1.3 命名空间使

编译查找⼀个变量的声明/定义时,默认只会在局部或者全局查找,不会到命名空间⾥⾯去查找。所以下⾯程序会编译报错。所以我们要使⽤命名空间中定义的变量/函数,有三种⽅式:
1.指定命名空间访问

2.using将命名空间中某个成员展开

3.展开命名空间中全部成员(这个一般不太建议)

2.C++的输入&输出

1.<iostream> 是标准的输⼊、输出流库,所以使用输入输出时,需要包括头文#include<iostream>

2.cout/cin/endl等都属于C++标准库,C++标准库都放在⼀个叫std(standard)的命名空间中,所以要 通过命名空间的使⽤⽅式去⽤他们。

3.使⽤C++输⼊输出更⽅便,不需要像printf/scanf输⼊输出时那样,需要⼿动指定格式,C++的输输出可以动识别变量类型其实最重要的是C++的流能更好的⽀持⾃定义类型对象的输⼊输出.

 

3.缺省参数

1.缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值。在调⽤该函数时,如果没有指定实参则采⽤该形参的缺省值,否则使⽤指定的实参,缺省参数分为全缺省和半缺省参数。
2. 全缺省就是 全部形参给缺省值 ,半缺省就是 部分形参给缺省值 。C++规定半缺省参数必须 从右往左依次连续缺省 ,不能间隔跳跃给缺省值。

3.带缺省参数的函数调⽤,C++规定必须从左到右依次给实参,不能跳跃给实参。

4.函数声明和定义分离时,缺省参数不能在函数声明和定义中同时出现,规定必须函数声明给缺省 值。

 

 

4.函数重载

C++⽀持在同⼀作⽤域中出现 同名函数 ,但是要求这些同名函数的 形参不同 ,可以是 参数个数 不同或者 类型不同 又或是 参数顺序不同 。这样C++函数调⽤就表现出了多态⾏为,使⽤更灵活。C语⾔是不⽀持同⼀作⽤域中出现同 名函数的。
!!!注意: 返回值不同不能作为重载条件,因为调⽤时也法区分
嘟嘟嘟,今天分享完毕,后续C++持续更新!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值