文章目录
- 一、命名空间域
- 二、缺省参数
- 1.了解缺省参数
- 2.代码实验
- 总结
一、命名空间域
前面我们学习了全局域,局部域,知道了域可以决定一个变量的生命周期,一个变量的作用范围,在域中可以定义变量/函数/类型等。
我们今天讲的命名空间域是为了解决变量命名重复冲突的问题,在实际的工程中我们每个人会负责不同的模块,最后再整合链接,但是在该工程不可避免的出现标识符命名重复冲突的问题,在如此庞大的工程中,一个个更改会造成时间的浪费,如此我们在不同的文件中使用namespace{ ... }就不会造成标识符冲突的问题。
1.命名空间域的使用:
namespace使用时注意的地方:
1.namespace只能在全局中定义,本身可以嵌套使用,namespace本身的命名可以相同:
<1>在同一个源文件中namespace命名相同在编译阶段就合并
<2>在不同的源文件中namespace命名相同在链接阶段才合并
如此,当多个namespace命名相同时也要保证其内部不能有重复标识符否则会报错
二、缺省参数
1.了解缺省参数
在声明或定义函数时,给定形参一个默认值,当调用函数时并没有传入实参,这时函数就会使用默认值。
缺省参数分为全缺省参数和半缺省参数:
<1>全缺省参数,函数的形参都有默认值
<2>半缺省参数,函数的部分形参有默认值:
~在C++中规定半缺省参数,只能从右往左依次给定默认值
~传参时必须从左往右依次给定实参,不能跳跃给定实参
2.代码实验
总结
命名空间域namespace可以避免标识符命名冲突的问题,编译器不会自动的向namespace中进行查找标识符,必须额外的引入。
缺省参数可以给定形参默认值,当没有实参时就使用默认值。