废话不多说,解释都在注释中
//返回指向函数的指针
#include<iostream>using namespace std;//用传统方法定义类型别名typedef int func1(int, int);//func1是函数类型typedef int(*pfunc1)(int, int);//pfun1是指针类型func1 *fun1(int, int);pfunc1 fun2(int, int);//用C++11方法定义类型别名using func2 = int(int, int);//func2是函数类型using pfunc2 = int(*)(int, int);//pfunc2是指针类型func2 *fun3(int, int);pfunc2 fun4(int, int);//用直接定义方法int(*fun5(int, int))(int, int);//用尾置返回类型auto fun6(int, int)->int(*)(int, int);//用C++11中decltypeint dummy(int, int);//dummy是函数类型decltype(dummy) *func7(int, int);int dummy(int a, int b){ return (a + b);}func1 *fun1(int c, int d){ cout << (c - d) << endl; return dummy;}int main(){ cout << fun1(3, 4)(1, 2) << endl; system("pause"); return 0;}新闻热点
疑难解答