永发信息网

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

答案:5  悬赏:10  手机版
解决时间 2021-03-06 23:08
为什么在C++中函数要先声明然后再定义呢?
最佳答案
1、函数的作用域只是从定义的地方开始的。也就是说,在函数定义行之上,是无法使用该函数的。而把函数的定义都放在主函数之前的话,程序会变得不清楚。所以在使用前只需用一行声明一下就可以了。
2、也许函数并不都是在一个文件里使用,这时候,如果再定义一遍,不仅显得罗嗦,而且使程序的维护变得麻烦,如果修改这个函数的话,需要修改每个定义。
所以可以把函数声明放在一个头文件中,使用的时候,包含这个头文件就可以了。
3、有时候,自己写的函数需要给别人用,比如商业用途。这样的话,不能将整个函数的实现都给对方,这就需要生成一个库文件,而将函数声明放在头文件中来给对方使用。
4、有时候需要用函数声明来重新声明函数,即使前面已经声明过。这样做可以设置新的默认参数,也可以是为了屏蔽作用域外同名的函数声明。
全部回答
这是最好的习惯,为什么?因为这样就是让编译器知道你下面有什么函数“出场”,如果你不先声明,一般不会产生错误,但有可能在一个函数调用另一个时,由于先后出现顺序不同引起出错,其实“编写上”并没错。
还有就是在大型联合编程时,一般都将子函数群放在main程序后面方便阅读。这样前边要加上这些函数的声明。
声明不声明执行速度上没变化
这是编译器的要求。
函数定义有两种方法。一种是写在主函数 main() 前面,声明和定义一起写。另一种是在主函数前面写“原型”,在主函数之后 或 在分开的 .cpp 文件里写定义。
小程序一般用前者。大程序一般用后者。库函数也用后者(库函数的原型声明放在头文件里)。
看不懂这个问题啊
你也可以不声明,直接定义。但:
1、函数的作用域只是从定义的地方开始的。也就是说,在函数定义行之上,你是无法使用该函数的。而把函数的定义都放在主函数之前的话,程序会变得不清楚。所以在使用前只需用一行声明一下就可以了,明了。
2、也许函数并不都是在一个文件里使用,这时候,如果再定义一遍,不仅显得罗嗦,而且使程序的维护变得麻烦,如果修改这个函数的话,需要修改每个定义。
所以可以把函数声明放在一个头文件中,使用的时候,包含这个头文件就可以了。
3、有时候,自己写的函数需要给别人用,比如商业用途。这样的话,不能将整个函数的实现都给对方,这就需要生成一个库文件,而将函数声明放在头文件中来给对方使用。
4、有时候需要用函数声明来重新声明函数,即使前面已经声明过。这样做可以设置新的默认参数,也可以是为了屏蔽作用域外同名的函数声明。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
现在在塘沽摆地摊卖什么东西挣钱?投资要少的
”Marvelous Designer 6 For Steam“这是什么
什么是电流回路、电压回路
安卓想不通怎么用setImeActionLabel-java,安
什么叫技术领域
从教育的形式来看,学校教育体系可以分为
温州游乐园八月份还有开吗?
【可遇】可求不可遇是什么意思
做语文笔记本怎么做
陈福鹏诊所在哪里啊,我有事要去这个地方
想买个长安奔奔mini2012款亲情版二手车多少钱
世界上己经没有我的亲人了曾经父母的笑脸都逝
苯环中碳碳键的键长介于C-C和C=C之间?
医师执业范围和注册医院的医疗机构许可证上的
如果没有浓缩咖啡的话,用什么代替可以做心形
推荐资讯
厕所朝向哪里好,配户型图
今天太阳怎么了
为什么漫画控现在什么也看不了了?
韩国男人为什么长的那么好看白嫩的和他们的饮
甲公司为上市公司,2010年1月1日发行在外普通
你受得了网球解说员张盛吗?
英文手抄报以hello为主题
二月份去奥地利维也纳旅游穿什么衣服好?
是不是女人对爱总是一往情深,是不是女人都太
信用卡欠款立案调查会不会影响我在公司上班
请问,北京有什么好的男士整容医院?另外,未
人最怕什么人最怕暧昧后的冷漠认真后的痛苦信
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?