零、兼容C语言
包含文件<iostream>后,可以在C++中使用C语言的语法
一、namespace
- 意义:解决变量或函数等命名冲突的问题
- 定义:namespace 空间名() {...}
- 用法:
- a.空间名::对象名
在使用namespace中的内容时,应该指定命名空间域
原因:编译的默认查找顺序为:1.当前局部域;2.全局域;(默认不向namespace中查找)
- b.using 空间名::成员名;
通过指定使用namespace中的某个成员,可以不需要再在成员名前指定区域(指定区域也行)
using 空间名::成员名;可以在全局放置或当前的局部域,放置位置不同,其作用域也不同
- c:using namesapce 空间名;
该用法将使namespace中的成员解开限制,无需指定区域
注:
- 当使用namespace中的成员后,可能与其他域的成员发生命名冲突
- 多个不同文件中的同名namespace会发生合并,合并时可能发生命名冲突
- 使用namespace后,编译器查找顺序改为:1.当前局部区域;2.全局域和namespace域
i的值为局部定义的值
提示i被重定义,即使在my中仅声明i,也会报错
问1:下列代码结果是什么???
二、iostream
cout:自动识别类型,将信息打印至控制台
cin:自动识别类型,根据信息内容写入相应的对象
以上两个类包含在iostream文件中,也是namespace std的成员,使用时需要注意。
三、缺省参数
声明函数时可以给形参定义默认值
声明和定义同时给出缺省时将报错:
只在定义时给出,将提示缺少参数:
注意:
- 传参时只能依次赋值
- 缺省参数只能从右往左缺省,否则缺省无法起作用