文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c与c++的区别...

c与c++的区别...

时间:2010-08-12  来源:CrazyProgram_SZ

        可能很多人都知道C语言是面向过程的,C++语言是面向对象的,但我要说的不是这个。

        C和C++至少在以下3个方面是不同的:

1、C语言不支持设置函数参数默认值,而C++语言允许在函数被说明或者定义时给一个或多个参数指定默认值。好处就是能够给函数调用带来方便性和灵活性。例如:

     int fun(int iVal1, int iVal2=10, int iVal3=20);

该函数中的3个参数中的两个参数设置了默认值。

但在设置和使用参数默认值时应该注意下面几点:

1.1、指定默认值时要从参数表的右端开始,在指定了默认值的参数的右边不允许出现没有指定默认值的参数。(为什么这样还要进一步研究,我估计是和编译器有关,编译器处理参数一般都是从右到左入栈的)

1.2、在函数调用时,给定的实参值将取代参数的默认值,没有给定实参值将使用参数的默认值。

1.3、如果一个函数需要说明时,默认的参数值应设置在函数的说明中,而不是函数的定义中。当没有函数说明时,默认的参数值设置在函数的定义中。

1.4、在给参数设置默认值时,不仅可以是数值,也可以使表达式。默认值一般是全局量,也可以使函数,但不可以是局部变量。因为默认参数的函数是在编译时确定的,而局部变量在编译时无法确定。

2、函数的调用方式:在C语言中,函数调用都采用传值调用方式。在C++语言中,除了可用传值调用方式外还可采用引用调用方式。

函数的调用过程本质上是对栈空间的操作过程,因为调用函数是使用栈空间来保存信息的。函数调用过程大致描述如下:

2.1、建立被调用函数的栈空间。

2.2、保护调用函数的运行状态和返回地址。

2.3、传递函数实参给形参。

2.4、执行被调函数的函数体内语句。

2.5、将控制权或返回值转交给调用函数。

3、重载:C语言不支持重载,而C++语言支持重载。

重载函数就是指同一个函数名字对应着多个不同的函数实现。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载