我们可以用C ++返回一个函数吗?

时间:2015-07-15 03:09:08

标签: c++

我有一个包含三个功能的程序:main()returnFunction()functionToBeReturned()main()必须致电returnFunction()。我们可以使用functionToBeReturned()作为returnFunction()的返回值吗?

int functionToBeReturned()
{
    // some code here....
    return value;
}

int returnFunction()
{
    // some code here....
    return functionToBeReturned();
}

int main()
{
    returnFunction();
}

没关系......

1 个答案:

答案 0 :(得分:3)

是的!函数指针是C和C ++的一部分。使用函数指针,您可以从其他函数返回函数,并将它们存储在类等中。Here是一篇关于它们的文章。

returnFunction

在这个程序中,typedef int (*returns_int_t)(); 是一个不带任何东西的函数,它返回一个不带任何东西并返回int的函数。涉及函数指针的声明在C和C ++中真的很难看!为清晰起见,您可以考虑这样做:

returns_int_t

这为函数指针定义名称#include <iostream> using namespace std; typedef int (*returns_int_t)(); int functionToBeReturned() { cout << "hello!" << endl; } returns_int_t returnFunction() { return functionToBeReturned; } int main() { returns_int_t function = returnFunction(); function(); } ,该函数不带任何内容并返回int。然后,你可以这样做:

__STDC_IEC_559__

完全相同的事情。