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

タイプを印刷するfooと、次のfpようになります。

FiiiE
PFiiiE

E最後に何がありますか。そして 、なぜfooですか?FfpPF

4

0 に答える 0