C++是在C语言的基础上,容纳进去了面向对象的编程思想,并增加了一些有用的库。
本文主要从命名空间,C++的输入和输出,缺省参数 三部分,来探讨C语言和C++所不同的地方。(这些地方大多是为了弥补C语言的不足,以及对C 语言一些不合理的地方进行优化)
1.命名空间
1.1引入namespace
首先我们要知道,C++是兼容C语言的。所以既然在C语言中规定了,在相同的域中,不能有同名变量,那么对于C++是同样适用的。那么我们就会遇到命名冲突的问题,代码如下:
这里是因为在<stdlib.h>库中的有个标准函数也叫rand,这就会与我们的全局变量rand产生命名冲突的问题从而产生报错,所以为了避免命名冲突或名字污染,我们在C++中引进了一个关键字namespace(称为命名空间)
1.2命名空间的定义
在C/C++中,变量,函数以及后续要学的类都是大量存在的,这些变量,函数和类的名称都将存在于全局变量中,可能会造成很多冲突。使用命名空间的目的就是对标识符的名称进行本地化。
使用方法就是:namespace+项目名字+{}