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

How to get lambda function name in c++/gcc?

本文关键字:函数 lambda 获取 c++ gcc      更新时间:2023-10-16

如何在 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();
}

Lambda 函数是一个未命名的函数。此外,blabla是一个变量,它嵌入了一个lambda s.t,它必须()运算符调用。