标题:[讨论]新手报到,顺便提个问。
取消只看楼主
林杰杰
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-31
 问题点数:0 回复次数:2 
[讨论]新手报到,顺便提个问。

大家好,新手报到。

顺便向大家请教一个问题:有没办法实现这样一个特性,通过某种封装,把C语言中的函数变成同整数一样的一等公民?比如说,能否实现跟下面的Python代码一样功能的C语言代码:

def fun(n):
f = lambda x : x ** n

return f

pow_3 = fun(3)

print pow_3(10)

结果是1000。

2006-05-30 02:14
林杰杰
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-31
得分:0 
以下是引用–★–在2006-5-30 7:19:00的发言:

有哇,在C的数学库中现成的。
#include<math.h>
main( )
{
printf("%f",pow(10,3)); //pow(x,y)返回x**y的值
}


er...楼上的似乎没有理解我的意思。

我的意思是,能不能通过某种机制,返回一个函数作为返回值呢?就跟Functor一样。

2006-05-30 09:34
林杰杰
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-31
得分:0 
正是因为知道不可以这样做,才要问问能不能有什么办法可以实现这样的事情啊。 
2006-05-30 10:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-68399-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.382297 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved