我可以创建功能参考吗?

时间:2012-12-29 07:39:22

标签: c++ reference function-pointers

  

可能重复:
  Function References

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

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。以及foo F fpPF的原因{{1}}

0 个答案:

没有答案