由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - c的函数指针能不能弄得像matlab的function handle一样?
相关主题
求助,如何才能将一个c++对象封装成一个函数指针。容器里边放指针怎么办?
about STL functor and function pointers呼唤大侠们,我实在不能实现C++泛型的精神。
BigEndian和LittleEndian的设计C++的smart pointer注定是个二流的东西
出个题考考大家:)大牛给讲讲monad吧?
问一个函数指针的问题,c++Learn monad in 10 minutes
有什么编辑器查看函数指针比较给力?aop实际上是monad
function pointer 和 call-back function 有什么区别?lambda的一个疑问
请教一个boost::bind的问题把一个function pointer作为参数传入一个function的语法是什么?
相关话题的讨论汇总
话题: afun话题: int话题: 函数指针话题: function话题: std
进入Programming版参与讨论
1 (共1页)
c*******h
发帖数: 1096
1
就是部分的arguments可以动态定死,剩下的才是真正的argument。就像
y = 100;
Afun = @(x)f(x,y);
g(Afun);
在C里面怎样定义Afun?
t****t
发帖数: 6806
2
there's no built-in support for this in C. You can achieve the similar
result with c++ std::bind, e.g.
auto afun = std::bind(f, std::placeholders::_1, y);
afun(x);

【在 c*******h 的大作中提到】
: 就是部分的arguments可以动态定死,剩下的才是真正的argument。就像
: y = 100;
: Afun = @(x)f(x,y);
: g(Afun);
: 在C里面怎样定义Afun?

c*******h
发帖数: 1096
3
刚google了一下,可以这样搞
#include
int f(int x, int y) {
return x+y;
}
int g(int (*Afun)(int x), int x) {
return Afun(x);
}
int main(void) {
int y = 100;
int (*Afun)(int);
Afun = ({ int $(int x){ return f(x,y); } $; });
int x = 20;
int z = g(Afun, x);
printf("z = %d\n", z);
}
gcc是work的,不过我换到intel的compiler就不work了

【在 t****t 的大作中提到】
: there's no built-in support for this in C. You can achieve the similar
: result with c++ std::bind, e.g.
: auto afun = std::bind(f, std::placeholders::_1, y);
: afun(x);

k**********g
发帖数: 989
4

The key observation is that it needs "state", i.e. it needs to remember both
a function pointer, as well as a place to store the value of "y".
This is the first step toward understanding object-oriented programming:
variables can be captured into a structure, so that they can be accessed by
functions.

【在 c*******h 的大作中提到】
: 刚google了一下,可以这样搞
: #include
: int f(int x, int y) {
: return x+y;
: }
: int g(int (*Afun)(int x), int x) {
: return Afun(x);
: }
: int main(void) {
: int y = 100;

m*******l
发帖数: 12782
5
functor

both
by

【在 k**********g 的大作中提到】
:
: The key observation is that it needs "state", i.e. it needs to remember both
: a function pointer, as well as a place to store the value of "y".
: This is the first step toward understanding object-oriented programming:
: variables can be captured into a structure, so that they can be accessed by
: functions.

m*******l
发帖数: 12782
6
curry --- Functional Language lover

【在 m*******l 的大作中提到】
: functor
:
: both
: by

1 (共1页)
进入Programming版参与讨论
相关主题
把一个function pointer作为参数传入一个function的语法是什么?问一个函数指针的问题,c++
再问C++问题。有什么编辑器查看函数指针比较给力?
C++ template Questions (转载)function pointer 和 call-back function 有什么区别?
access function static variable请教一个boost::bind的问题
求助,如何才能将一个c++对象封装成一个函数指针。容器里边放指针怎么办?
about STL functor and function pointers呼唤大侠们,我实在不能实现C++泛型的精神。
BigEndian和LittleEndian的设计C++的smart pointer注定是个二流的东西
出个题考考大家:)大牛给讲讲monad吧?
相关话题的讨论汇总
话题: afun话题: int话题: 函数指针话题: function话题: std