Cpp的入门基础知识

来源:互联网 发布:sql insert into set 编辑:程序博客网 时间:2024/06/10 19:46
1.命名空间
       命名空间是用来组织和重用代码的。如同名字一样的意思,NameSpace(名字空间),之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了。为了解决这个问题,引入了名字空间这个概念,通过使用 namespace xxx;你所使用的库函数或变量就是在该名字空间中定义的,这样一来就不会引起不必要的冲突了。(引用自百度百科——命名空间)
       我们可以看出在不同的命名空间内使用同一个函数名是被允许的。在C++中我们最常用的命名空间就是std。当然我们也可以自行定义一个命名空间,例如:using namespace XXX,
2.C++中基本的输入输出流
       C++中我们最常见的输入输出流就是iostream。他是通用输入输出流和其他输入输出流的基类,还有istream和ostream,他们分别是通用输入/输出流和其他输入/输出流的基类。同理还有fstream、ifstream、ofstream,他们是输入输出文件流类。strstream、istrstream、ostrstream,他们是输入输出字符串流类。
3.重载
       C语言和C++的不同点其中之一就是函数的重载,C语言不支持函数的重载而C++支持。
       函数的重载就是函数名相同,参数列表不同。只要功能相近就可以使用函数的重载。
       函数的重载可以避免使用太多的函数名,可以避免命名空间被污染,可以增强函数的可读性。
       C++支持函数重载的原因是因为编译过程中会产生不同的名字。例如:_add_int_int和_add_double_double。
4.C++缺省参数
       所谓缺省参数,顾名思义,就是在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用该默认值,你就无须指定该参数。缺省参数使用主要规则:调用时你只能从最后一个参数开始进行省略,换句话说,如果你要省略一个参数,你必须省略它后面所有的参数,即:带缺省值的参数必须放在参数表的最后面。 缺省值必须是常量。显然,这限制了缺省参数的数据类型,例如动态数组和界面类型的缺省参数值只能是 nil;至于记录类型,则根本不能用作缺省参数。 缺省参数必须通过值参或常参传递。声明是带有缺省参数的函数,则缺省值只能写在声明当中。(引用自百度百科——缺省参数)
       缺省参数分为全缺省和半缺省。全缺省就是定义了所有的默认值,而半缺省则定义了部分默认值。
5.指针和引用(概念、使用方法、做参数、做返回值的作用,指针和引用的区别)
       引用是C++中才接触到的内容。引用不是定义一个新的变量,而是给一个已经定义好的变量取一个别名。例如:int a=10;int&b=a。
       引用的特点:一个变量可以取多个别名,引用必须初始化,应用只能在初始化的时候引用一次,不能改变为再引用其他的变量。
       当引用作为参数时,能起到值传递的作用,如果形参为非引用的传值方式,则生成局部临时变量接收实参的值。当以形参作为引用类型时,形参是实参的别名,这是引用传递。引用也可以传递指针。当不希望函数内改变参数X的值时,尽量使用常引用传参。
       当引用作为返回值时,不要返回一个临时变量的引用,如果返回对象出了当前函数的作用域依旧存在,则最好使用引用返回,这样更高效。
       引用和指针的区别和联系:1.引用只能在定义时初始化一次,之后不能改变指向其它变量;指针变量的值可变。2.引用必须指向有效的变量,指针可以为空。3.sizeof指针对象和引用对象的意义不一样。sizeof引用得到的是所指向的变量的大小,而sizeof指针是对象地址的大小。4.指针和引用自增(++)自减(--)意义不一样。5.相对而言,引用比指针更安全。指针更为灵活。(使用指针时一定要注意检查指针是否为空。指针所指的地址释放以后最好置0,否则可能存在野指针问题。)
原创粉丝点击