如何在c ++ / gcc中获取lambda函数名?

时间:2017-11-22 08:07:31

标签: c++ gcc lambda

如何在c ++中获取lambda函数名称。在下面的例子中,它应该得到" blabla"。其他gcc宏不会给出好的。

int main(int argc, char* argv[])
{
auto blabla = []()->void{
    cout << __func__ << endl; // operator()
    cout << __FUNCTION__ << endl; // operator()
    cout << __PRETTY_FUNCTION__ << endl; // main(int, char**)::<lambda()>
};
blabla();
}

1 个答案:

答案 0 :(得分:0)

Lambda函数是unnamed function。此外,blabla是一个嵌入lambda s.t的变量,它有()运算符来调用。