我第一次使用功能,我很好奇为什么 我们使用函数原型。我们为什么要使用它们?我们需要使用它们吗?
答案 0 :(得分:2)
绝对需求与实际需求之间存在差异。从技术上讲,我们不需要语言的循环结构for
,do
和while
,它们完全是多余的。实际上它有所不同,您不希望被简化为使用goto
和longjmp
。
技术上的指标只适用于递归函数和函数指针。
在实践中,您需要它们作为将较大的源代码划分为可管理的块,模块以及作为事物的更多抽象视图的手段。
作为类定义的抽象视图的函数原型的一种替代方法可能类似于Eiffel's short tool,从完整源代码自动生成抽象视图。递归函数集的一种替代方法是将函数定义嵌套在函数内。在c ++中很容易,通过C ++ 03中的本地类,现在通过C ++ 11中的lambdas,但不是在C中。