使用数组关闭函数指针的结果相同

时间:2018-09-02 20:32:49

标签: c++ pointers

地狱的家伙,

我写了一个简单的代码。您能帮我理解那里发生的事情吗? 为什么以下行会产生相同的输出。

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;
}

0 个答案:

没有答案