C和C++区别——带有默认值的函数

来源:互联网 发布:js 获取table tr td 编辑:程序博客网 时间:2024/06/01 23:26

CC++的区别:

c89  不支持带有默认值的函数

c++99 支持带有默认值的函数

最新:

C语言:C11

C++C++11

文中比较 C89 C++99区别,


1.带有默认值的函数

C语言(C89)不支持带有默认值的函数

C++(C++99)支持带有默认值的函数:要从右到左,给形参,默认值,

①每个形参的默认值只能给一次,方向是从右往左给(虽然编译器报错,是因为那一行的语法有错误,编译是联系上文的,所以编译成功)

例如,像下面,把c的默认值给了两次,就不能通过编译了

下面,默认值从右往左依次给出,编译链接成功

②调用点之前给出函数声明,调用点之后给出函数定义,不可以,因为编译是从上往下的,


②声明可以给多次,编译链接可以成功,声明不占用内存,

④如果是被调用函数是在本文件外部进行定义的,结果是60而不是50,选取的是本文件中的默认值,因为主函数里的会覆盖外部的那个默认值,

#include <stdio.h>#include <iostream>using namespace std;int rectangle(int a,int b,int c = 10)//可以{return a + b + c;}int main(){int ret = rectangle(20,10);//可以,实参与形参的结合,从左往右cout<<ret<<endl;return 0;}


未完。。。






阅读全文
0 0
原创粉丝点击