C++ 函数原型

来源:互联网 发布:软件前端是什么 编辑:程序博客网 时间:2024/06/05 20:40

一,函数原型

函数原型(函数声明)就是告诉编译器这个函数是存在的,让编译器知道这个函数的相关信息。函数原型不要求提供形参名,有类型列表就可以了。避免使用函数原型的方法是,在首次使用函数定义之前定义它,但这并不是总可行的。我们一般把函数声明放在主函数的前面,因为min()函数是应用程序的入口。函数声明是告诉编译器这个函数存在,函数定义是表示该函数如何去做。


二,为什么需要函数原型?

函数原型描述了函数到编译器的接口,它将函数返回值的类型以及参数的类型和数量告诉编译器。例如:看函数原型如何影响下面的函数调用。

double cube(double x);int main(){    double val = cube(5.0);    return 0;}double cube(double x){    return x * x;}

首先原型告诉编译器,cube()有一个double参数。如果程序没有提供这样的参数,原型将让编译器捕获这样的错误。其次,函数调用结束后,将把返回值放到指定的位置。然后调用函数将从这个位置获取返回值。由于函数原型指出了函数的返回值是double类型,因此编译器知道应检索多少个字节以及如何解释他们。如果没有这些信息,编译器只能进行猜测,但是编译器并不会这么做。


三,函数原型的功能

函数原型可以帮助编译器完成许多的工作,同时,它也可以帮助程序极大的降低程序出错的几率。原型可以确保以下几点:

1,编译器正确处理函数返回值。

2,编译器检索使用的参数数目是否正确。

3,编译器检查使用的参数类型是否正确,如果不正确转换为正确的类型。

int x = 5;double val = cube(x);

首先看上面的函数调用,程序将一个int型的值5传递给cube()。编译器注意到,cube()原型指定一个double类型的参数,因此会将5转换为5.0。

0 0