在 C/C++ 中显式原型本地函数有什么好处,而不是在使用前定义函数?本地我的意思是函数仅在其源文件中使用。一个例子是这样的:
#include "header.h"
static float times2(float x){
return 2*x;
}
static float times6(float x){
return times2(3*x);
}
int main(void){
// Other stuff ...
float y = times6(1);
// Other stuff ...
}
与此相反:
#include "header.h"
// Local function prototypes
static float times2(float);
static float times6(float);
// Main
int main(void){
// Other stuff ...
float y = times6(1);
// Other stuff ...
}
// Local functions definition
static float times2(float x){
return 2*x;
}
static float times6(float x){
return times2(3*x);
}
就我个人而言,我更喜欢使用第一个选项,因为要编写的代码更少,并且(对我而言)文件更易于阅读,但现在我想知道是否有任何技术原因更喜欢第二个选项。
编辑:我在 times2() 和 times6() 中添加了静态,请参阅下面的@Gangadhar 答案和评论。