地狱的家伙,
我写了一个简单的代码。您能帮我理解那里发生的事情吗? 为什么以下行会产生相同的输出。
cout << p[0](a, b)<<endl;
cout << (*p[0])(a, b)<<endl;
#include <iostream>
int sum(int, int);
int prod(int, int);
using namespace std;
int main()
{
int a = 5;
int b = 6;
int(*p[])(int, int) = { sum,prod };
cout << p[0](a, b)<<endl;
cout << (*p[0])(a, b)<<endl;
return 0;
}
int sum(int a, int b) {
return a + b;
}
int prod(int a, int b) {
return a*b;
}