6
在C ++ 11中用“ auto”推论得出的lambda类型是什么?
我认为lambda的类型是函数指针。当我执行以下测试时,我发现它是错误的(演示)。 #define LAMBDA [] (int i) -> long { return 0; } int main () { long (*pFptr)(int) = LAMBDA; // ok auto pAuto = LAMBDA; // ok assert(typeid(pFptr) == typeid(pAuto)); // assertion fails ! } 上面的代码缺少任何意义吗?如果不是,那么typeof用auto关键字推导的lambda表达式是什么?