为什么在C++中函数要先声明然后再定义呢?

[慕少森]::
你也可以不声明,直接定义。但:
1、函数的作用域只是从定义的地方开始的。也就是说,在函数定义行之上,你是无法使用该函数的。而把函数的定义都放在主函数之前的话,程序会变得不清楚。所以在使用前只需用一行声明一下就可以了,明了。
2、也许函数并不都是在一个文件里使用,这时候,如果再定义一遍,不仅显得罗嗦,而且使程序的维护变得麻烦,如果修改这个函数的话,需要修改每个定义。
所以可以把函数声明放在一个头文件中,使用的时候,包含这个头文件就可以了。
3、有时候,自己写的函数需要给别人用,比如商业用途。这样的话,不能将整个函数的实现都给对方,这就需要生成一个库文件,而将函数声明放在头文件中来给对方使用。
4、有时候需要用函数声明来重新声明函数,即使前面已经声明过。这样做可以设置新的默认参数,也可以是为了屏蔽作用域外同名的函数声明。
回复2019-02-27

[守候你守候我]::
这是最好的习惯,为什么?因为这样就是让编译器知道你下面有什么函数“出场”,如果你不先声明,一般不会产生错误,但有可能在一个函数调用另一个时,由于先后出现顺序不同引起出错,其实“编写上”并没错。
还有就是在大型联合编程时,一般都将子函数群放在main程序后面方便阅读。这样前边要加上这些函数的声明。
声明不声明执行速度上没变化。

链接:https://www.imooc.com/wenda/detail/502904

猜你喜欢

转载自blog.csdn.net/weixin_42565127/article/details/115909930