【发布时间】:2018-05-22 08:45:23
【问题描述】:
这个问题源于另一个问题 Why isn't a lambda that captures variables by reference convertible to a function pointer?
。似乎带有捕获列表的 lambda 被实现为带有 operator () 的本地类。
据我所知,没有捕获列表的 lambda 可以转换为函数指针,看起来它只是一个普通的函数。更重要的是,将没有捕获列表的 lambda 与普通函数进行比较时,我找不到任何特别之处。
同时,我认为没有捕获列表的lambda作为普通函数没有必要不实现。
【问题讨论】:
-
" 我认为没有必要不实现没有捕获列表的 lambda 作为普通函数。"我经常使用 lambda,can 这样做感觉很舒服。编写一个独立的函数并获取地址只是更多的工作要做。并且它拆分了函数定义和使用,可以通过使用捕获更少的 lambda 来避免。所以我有必要使用它;)
-
请使用
not使用random代码markups。 -
是指编译器还是程序员?
-
I think there is no necessity to not implement lambda without三重否定!新纪录! -
@PasserBy - 只有在有人检查时,它才必须具有唯一的类型。如果我们所做的只是将 lambdas 转换为函数指针,我们如何知道它们是否有不同的类型?无论如何,我的观点应该是你可以 convertible 到一个函数指针而不 being 一个函数。