【发布时间】:2019-09-07 09:27:34
【问题描述】:
我目前正在阅读 P0315R1 论文,该论文讨论了未评估上下文中的 Lambdas
文档中有一个声明解释了为什么 lambdas 不能出现在未评估的上下文中(当然只有在 C++20 之前),如下所示:
Lambda 是一种非常强大的语言功能,尤其是当它出现时 使用带有自定义谓词或表达的高阶算法 小的,一次性的代码。然而,他们遭受了一个重要的 限制,削弱了它们对创造性用例的有用性; 它们不能出现在未评估的上下文中。 此限制是 最初旨在防止 lambda 出现在签名中, 这会打开一罐蠕虫进行破坏,因为 lambdas 是 需要有唯一的类型。
有人可以用一个例子来解释这个说法吗?
【问题讨论】:
-
@VTT 谢谢,我会看看链接。
-
了解名称修饰的含义,并考虑如何将其应用于出现在签名中的 lambda。
-
@PasserBy 感谢您的评论。我已经知道 mangling 是什么名字。但是,我必须了解它如何应用于 lambda。谢谢你的好建议。