这个是我编的,请看这段例子,是函数指针还是回调函数,当然可以不用这样编,只是我改的,试用函数指针,如果还有更好的例子可以说明回调函数用法,关于回调函数特别是关于API回调函数还是一知半解,请指教!
#include
using namespace std;
long mul(int n)
{
long s=1;
for(int i=1;i<=n;i++)
s*=i;
return s;
}
long sum(long (*p)(int i),int n)
{
long sum=0;
for(int i=1;i<=n;i++)
sum+=p(i);
return sum;
}
int main()
{
long s;
int n;
cin>>n;
s=sum(mul,n);
cout< return 0;
}
1.普通的函数是:咱么的函数调用系统的函数,
比如:void fun(){printf();}
而回调函数是:系统调用你的函数。
win32 编程的wndproc,java的事件,c#的delegate都是这种思想。可以说没有坏处,回调使得系统更加灵活。
2.不好写。操作系统或者framework代码不好模拟代码。