相关疑难解决方法(0)

C++的隐藏功能?

当涉及到"问题线"的"隐藏特征"时,没有C++的爱吗?想我会把它扔出去.C++的一些隐藏功能是什么?

c++ hidden-features

114
推荐指数
38
解决办法
8万
查看次数

什么是c ++ 11/1y lambda函数的类型签名?

我想知道是否有一种标准方法来获取任何给定lambda的参数的类型签名(即返回类型和类型)?

我问的原因是我一直想知道auto声明中的类型究竟是什么样的auto l =[](int x,int y)->int{return x+y;}.在其他用例中auto,对于较长的类型名称而言,它是一种便利和更短的替代方案.但是对于lambdas,是否有另一种方法来声明lambda变量?

我的理解是标准lambda只不过是一个函数对象,它是它自己的类型.因此,即使两个lambda具有相同的返回类型和参数类型,它们仍然是两个不同的,不相关的类/仿函数.但是有一种方法可以捕捉它们在类型签名方面相同的事实吗?

我认为我正在寻找的类型签名可能类似于std::function<>正确类型的对象.

更有用/涉及的问题是,如果可以提取类型签名,则可以编写一般包装函数将任何lambda函数转换std::function为相同类型签名的对象.

c++ lambda c++11

14
推荐指数
2
解决办法
9868
查看次数

标签 统计

c++ ×2

c++11 ×1

hidden-features ×1

lambda ×1