前言:
哈喽啊,各位小伙伴。由于我个人的一些原因,导致了五河琴里?已经很长一段时间不更新了。不过,从今天起,我们将正式进入到C++的学习当中去,后续也将保持每周2,3篇的更新速度。请各位小伙伴们监督。
下面,我们将正式进入到C++的世界。
一·C++的发展历史和地位
1·C++的发展历史
C++是1979在贝尔实验室被开发出来的,是在C++的基础之上开发出来的一门新的计算机语言,相比于C语言,C++高级且方便,很重要的一点C++是面向对象。C语言在C++的编译器上依然被支持。
2·C++的地位以及应用
首先,我们从2024年7月29日tiobe的排行榜上面可以直观感受到C++应用的广泛性。作为一门老计算机语言,C++的热度依然旧居不下。
二·C++的基础语法:
1·命名空间namespace
首先在C语言中还有一个极为不利的地方,就是命名冲突,设想一下,我们在处理某个大型项目时,通常需要分模块进行分工,然后再将代码整合到一起,如果此时出现各种各样的命名冲突,是不是改起来很麻烦,而命名空间就是为了防止命名冲突的产生。
1·1命名空间的定义:
1·定义命名空间,需要namespace关键字,namespace加上空间名称,再加{},{}内部就可以定义我们成员了,可以是变量/函数/类型等。
2·namespace本质上是定义了一个新的域,与全局域各自独立,所以定义同名变量时不会发生冲突。
3·在C++中有局部域/全局域/命名空间域/类域,域影响的是,代码在编译时的查找变量,函数(声明和定义)逻辑。所以有了域的隔离就不会产生命名冲突问题了。
4·命名空间只能定义在全局中。
5·若是我们在不同位置定义相同名字的命名空间,编译器则会自动整合。
1·2命名空间的使用:
命名空间的使用有三种:命名空间名称加上作用域限定符直接使用,using加上命名空间名称加作用域限定符,using将命名空间全部引入。
第一种:命名空间名称+作用域限定符(指定命名空间访问,项目中推荐这种写法)
(作用域限定符就是 ::)
第二种:使用using展开命名空间中的某个成员(实际上就是将该成员放到全局域中,一般项目中经常访问的不存在冲突的成员建议这样展开)
第三种:using+命名空间名称(将命名空间全部展开,项目中不推荐这种写法)
2·C++的输入输出
C++的输入输出函数(cin,cout)放在std命名空间中了,而std命名空间包含在头文件<iostream>中。因此在使用时,要先include头文件<iostream>,然后使用。
值得一提的是:在C++中不再需要自定义格式输入输出了,这就方便很多。特别是在输入输出一些自定义类型时。
3·缺省参数
3.1缺省参数定义:缺省参数就是在声明或定义函数时给函数的参数一个缺省值,如果该参数没有实参,那么将用该缺省值代替。
3.2缺省参数的使用:共二种,全缺省,半缺省。
注意:
1·缺省参数必须从右往左依次给出。
2·如果函数存在声明和定义分离的话,只需在声明处写出缺省值即可,无需在定义处给出。
4·函数重载
在C++中支持在同一作用域中出现同名函数,但是要求这些函数的参数不同。可以是个数不同,类型不同,类型顺序不同。
但是当我们有一个无参函数和一个全缺省函数构成函数重载时,而我们又不写入任何的参数时,就会造成以下问题。
三·总结
以上就小编在偷懒了几个月后又开重新写博客的第一篇内容的全部了。
总结内容不多但是详细,希望各位大佬能够多多点赞,支持一下,小编在这里跪谢了。