首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

什么是函数?有多少人晓得

2013-07-01 
什么是函数?有多少人知道?之前和一同事讨论过要不要测试.h文件中的东西,她说不要,我说要,因为可能有宏定义

什么是函数?有多少人知道?
之前和一同事讨论过要不要测试.h文件中的东西,她说不要,我说要,因为可能有宏定义的函数
#define MAX(a,b) a>b?a:b

昨天和team leader开会他说,只要是函数都测,我就问他宏函数要不要测.他说宏就是宏,函数就是函数.然后我就举了这个例子,要不要测.他就很生气的问我,"什么是函数?"
我答不出来."连什么是函数都答不出来,就不要问这种(低级的)问题"

你们知道什么是函数吗?
[解决办法]
这要看你站什么样的角度来理解:
广义的讲:函数就是将输入按照一定映射关系转换为输出的工具。
狭义的讲(在C++中):函数就是具有函数描述特征(即有返回类型,函数名,参数,函数体等构成要术,并按照一定顺序组合而成)的代码块。

对于你遇到的问题,我有三点建议:
1. 不提倡把函数定义定义成宏。
2. 只要是代码,都应该测试。
3. 要理解team leader有时要考虑效率问题。

很多事情不能完美抽像描述的时候,就只有具体问题具体分析,就好像:

#define MAX(a,b) a>b?a:b 
从编程语言的角度,你可以说这是一个宏, 不是一个函数,但我也可以写成:

#define int MAX(a,b){ return a>b?a:b; }
这也是一个宏,但你能说这不是一个函数吗?当然这只是讨论问题,不提倡这样使用。

[解决办法]
对不起,上面最后一个例子写错了,少了宏名。

热点排行