创作过程中难免有不足,若您发现本文内容有误,恳请不吝赐教。
提示:以下是本篇文章正文内容,下面案例可供参考。
一、命名空间
在
C/C++
中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存 在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化
,以避免命名冲突或名字污染
,namespace
关键字的出现就是针对这种问题的。
#include<stdio.h>
#include<stdlib.h>
int rand = 0;
//语言没办法解决类似这样的命名冲突问题,所以C++提出了namespace来解决
int main()
{
printf("%d\n", rand);
return 0;
}
// 编译后后报错:error C2365: “rand”: 重定义;以前的定义是“函数”
1. 命名空间中可以定义变量/函数/类型
2.命名空间可以嵌套



3.同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。
二、C++输入&输出
1.
使用
cout
标准输出对象
(
控制台
)
和
cin
标准输入对象
(
键盘
)
时,必须
包含
< iostream >
头文件
以及按命名空间使用方法使用
std
。
2. cout
和
cin
是全局的流对象,
endl
是特殊的
C++
符号,表示换行输出,他们都包含在包含
<
iostream >
头文件中。
3.
<<
是流插入运算符,
>>
是流提取运算符
。
4.
使用
C++
输入输出更方便,不需要像
printf/scanf
输入输出时那样,需要手动控制格式。
C++
的输入输出可以自动识别变量类型。
std命名空间的使用惯例:
std
是
C++
标准库的命名空间,如何展开
std
使用更合理呢?
1.
在日常练习中,建议直接
using namespace std
即可,这样就很方便。
2. using namespace std
展开,标准库就全部暴露出来了,如果我们定义跟库重名的类型
/
对
象
/
函数,就存在冲突问题。该问题在日常练习中很少出现,但是项目开发中代码较多、规模
大,就很容易出现。所以建议在项目开发中使用,像
std::cout
这样使用时指定命名空间
+
using std::cout
展开常用的库对象
/
类型等方式
三、缺省函数
缺省参数是
声明或定义函数时
为函数的
参数指定一个缺省值
。在调用该函数时,如果没有指定实
参则采用该形参的缺省值,否则使用指定的实参。
注意:
1.
半缺省参数必须
从右往左依次
来给出,不能间隔着给
2.
缺省参数不能在函数声明和定义中同时出现
3.
缺省值必须是常量或者全局变量
4. C
语言不支持(编译器不支持)
四、函数重载
函数重载:
是函数的一种特殊情况,
C++
允许在
同一作用域中
声明几个功能类似
的同名函数
,这
些同名函数的
形参列表
(
参数个数 或 类型 或 类型顺序
)
不同
,常用来处理实现功能类似数据类型
不同的问题。



总结
以上就是今天要讲的内容,本文仅仅简单介绍了C++的基础知识。