10

可能重复:
函数引用

我在一本书中找到了这段代码,

typedef int (&foo)(int,int);

这是什么意思 ?这是对函数的引用吗?如果是,它为什么用于?它与指向这样的函数的指针有何不同。

typedef int (*foo)(int,int);

这只是 C++ 中没有的 C++ 的增强吗?

编辑

#include <iostream>
#include <typeinfo>
using namespace std;
int f (int , int ) {return 0;}
int main() {
    int (&foo)(int,int) = f;
    int (*fp)(int,int) = f;
    std::cout<<typeid(foo).name()<<std::endl<<typeid(fp).name();
    return 0;
}

当我打印类型时foofp它会给出如下内容:

FiiiE
PFiiiE

最后是什么E。为什么fooFwhilefpPF

4

0 回答 0