c++语言对c的扩充

1.命名空间的使用

   参见下列链接:http://www.cnblogs.com/uniqueliu/archive/2011/07/10/2102238.html 

   需要注意的地方:如果使用了命名空间std,则在使用#include编译预处理命令包含头文件时,必须去掉头文件的扩展名.h,否则会出错。

命名空间可以不连续,分为多段,但它们仍然是同一个命名空间。命名空间不能定义在函数声明、函数定义或类定义的内部。

2.动态内存的分配与释放

在程序运行时可使用的内存空间称为堆(heap)。

 3.作用域运算符(::)

4.引用

被声明为引用类型的变量名则是实际变量名的别名。

函数调用可以作为左值

5.const修饰符

函数参数也可以用const说明,用于保证实参在该函数内部不被改变

6.字符串

 string 类型

7.内联函数

是一种用空间换时间的措施,即使插入了inline关键字的函数,也要由编译器按一定准则判断是否按其指定的inline的方式处理。

8.带默认参数的函数

指定了初始值的参数称为默认参数。如果函数有多个默认参数,则默认参数必须是从右到左定义,并且在最右边一个默认参数的右边不能有未指定默认值的参数。

9.函数重载(overload)

注意事项:(1).不可以定义两个具有相同名称、相同参数类型的相同参数个数,只是函数返回值不同的函数。c++语言是按函数的参数表分辨相同名称的函数;

(2).如果某个函数参数有默认值,必须保证其参数默认后调用形式不与其他函数混淆。

10函数模板

使用模板函数的方法是先声明函数模板,然后实例化成相应的模板函数进行调用执行。

(1).函数模板

(2).模板函数

(3).函数模板与重载函数

当模板函数与重载函数同时出现在一个函数体内时,c++语言编译器的求解次序是先调用重载函数;如果不匹配,则调用模板函数;如果还不匹配则进行强制类型转换,前面几种方法都不对,则最后报告出错。

原文地址:https://www.cnblogs.com/liujunming/p/4528582.html