这几天学习了c++的一些基础知识,虽然还没完全入门,但也和C++互相瞟了一眼,现在我为大家讲讲这几天的学习收获以及心得。
c++兼容c,是以c为基础进行优化,在优化的同时建立了多c++自己的标准库。为了用户避免使用和c++标准库中的名称,它创立了一个东西叫做命名空间。
命名空间的定义:它的定义需要用到namespace关键字,后面在加上你定义的名字。c++标准库的命名空间的名字是std。命名空间中可以定义变量/函数/类型。命名空间相当于一堵墙,将墙里的数据进行了保护,这样避免了库中的名字与用户使用的变量名冲突。
当我想打印一个a,发现a未定义(也就是找不到)。找a的流程是这样的:现在局部变量找,找不到再去全局变量找。图中a找不到的原因是a被存放在命名空间里了,a被命名空间这堵围墙保护了起来。注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。那么该如何访问空间域的数据呢?
命名空间的使用:命名空间使用方法有三种:
1.加命名空间名称及作用域限定符
2.使用using namespace 命名空间名称 引入
这种方法虽然方便但有一个劣势那就是它将命名空间里的东西完全暴露出来了,这种方法适合平时写代码或者写一个小程序的时候用。
3.使用using将命名空间中某个成员引入
注:在不同的文件中命名空间的名字可以相同,但是命名空间的成员名不可重复。命名空间名相同的作用域最终将被合并成一个域。
C++的输入输出:当我们学习一个新语言的时候,最经典的题目是在屏幕上打印“hello world”
cout是控制台的缩写,<<符号是流插入,将你需要打印的内容插入到控制台。那么c++是如何实现输入的呢?写法与输出类似:
缺省参数:1.全省参数
在函数声明或定义时,函数的所有参数已经被初始化了一个值。
当函数传参时如果没有传任何参数,系统会采用默认的初始值。传了值的时候会将默认初始值改成所传的值。并且传值默认是从左往右依次传,
2.半省参数
在函数声明或定义时,函数部分参数已经被初始化了值。
不是缺省参数的必须传值,缺省参数必须是从右往左依次连续。
注:1. 缺省参数不能在函数声明和定义中同时出现。
2.缺省值必须是常量或者全局变量。
3.c语言不支持缺省参数。
函数重载:函数重载换句话来说就是函数的多重定义,函数名可以相同。这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型 不同的问题。
1.参数的类型不同
2.参数的个数不同
3.参数的顺序不同
c++实现函数重载的原理-> 名字修饰。c语言中在编译的时候会形成符号表,符号表中存储函数名以及函数的地址。c++不同,它将函数名进行了修饰使得不同参数对应不同的函数。
c++部分基础先讲到这,希望大佬们多多点赞支持,如果文章内容有不妥的地方请大佬多多指出!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)