重複の可能性:
関数参照
私は本の中でこのコードを見つけました、
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;
}
タイプを印刷するfoo
と、次のfp
ようになります。
FiiiE
PFiiiE
E
最後に何がありますか。そして 、なぜfoo
ですか?F
fp
PF