【发布时间】:2014-11-09 23:41:46
【问题描述】:
据我所知,所有数据类型都必须在编译时知道,而 lambda 不是一种类型。 lambda 是否被翻译成 anonymous struct with operator() 或 std::function 包装?
例如,
std::for_each(v.begin(), v.end(), [](int n&){n++;});
【问题讨论】:
-
std::function没有像std::initializer_list这样的语言连接。 -
这源于我缺乏知识。纯随机。
-
Lambda 类型是unspecified。
-
我只想指出 lambda 的类型,尽管未指定且不可表达,但 可以 由模板推导出来。我认为那个很强大。