最近正在初学 C++11, 函数指针作为参数比较容易实现和理解,那么函数作为返回值各位大大一般是如何实现的?
int add(int a, int b) { return a + b; } int (*fun(int a))(int, int) { cout << a << endl; return add; } int main(int arg, char* args[]) { int (*addFunc)(int, int); addFunc = fun(10) cout << addFunc(1, 10) << endl; } 这样做有什么应用场景?
为了达到延迟计算的目的还可以像下面这样:
auto addLater(int a, int b) { return [a, b]()->int{ return a + b; }; } int main(int arg, char* args[]) { auto addResult = addLater(1, 2); cout << addResult() << endl; } 如果我想把函数返回值 auto 改成指定类型,该写什么类型?
