我已经学习 C++ 一段时间了,我唯一不能全神贯注的是函数原型(prototype)、函数调用和函数定义的东西。我读了各种各样的东西,但仍然不知道它的意思或作用。我只想能够理解和识别其中的每一个。根据我所读的内容,我很确定这些对编程很重要。我对函数原型(prototype)有一个粗略的了解,我相信它是一个返回某物值的语句。
最佳答案
让我看看能不能用一些类比来解释
功能原型(prototype) - 它就像一个产品广告 - 它说有一个产品 X,你可以从地点 Y 得到它。这对你作为消费者来说已经足够了,但没有说关于幕后发生的事情,让 X 到 Y 和你。
类似地,一个函数原型(prototype)是一个声明,它只是说有一个名为 X 的函数,接受参数 Y 并返回值 Z。对于任何调用者来说已经足够了,但不能对它做任何事情拥有。
例如 int DoSomething(int arg);
Function Call - 这是消费者前往 Y 地点索取产品 X。
这是真正调用函数代码的时候。但是为了能够调用你需要知道它存在的函数,所以你(至少)需要一个函数的原型(prototype)就在调用之上。
例如 int a = DoSomething(1);
功能定义 - 这是制造产品 X 并将其运输到位置 Y 的实际过程。
本质上这是函数本身的代码。
例如
int DoSomething(int arg){<br/>
return arg+2;<br/>
}
C 需要函数原型(prototype)(也称为前向声明),C++ 需要自由函数(不属于类的函数)
关于c++ - 函数原型(prototype)混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13391731/